使用未赋值的局部变量字典

本文关键字:局部变量 字典 赋值 | 更新日期: 2023-09-27 18:31:16

好吧,我被困在未赋值局部变量的使用上。我首先声明我的变量并创建我的字典。

在我的代码下面:

string berichtAantalMunten;
double[] munten = { 2,1,0.50,0.20,0.10,0.05};
Dictionary<double, int> aantalMunten = new Dictionary<double, int>();
int muntenTeller = 0;
double bedragTerug = totaalIngeworpen - prijsDrankje;
foreach (double munt in munten){
    double tijdelijkIngeworpen = totaalIngeworpen - munt;
    if (tijdelijkIngeworpen >= 0)
    {
        muntenTeller++;
        aantalMunten.Add(munt, muntenTeller);
        totaalIngeworpen = tijdelijkIngeworpen;
    }
}
if (aantalMunten.ContainsKey(2))
{
    berichtAantalMunten = aantalMunten[2].ToString() + " x € 2,00'n";
}
if (aantalMunten.ContainsKey(1))
{
    berichtAantalMunten +=  aantalMunten[1].ToString() + " x € 1,00'n";
}

使用未赋值的局部变量字典

在任何情况下都没有

分配值的变量berichtAantalMunten。您可以通过明确分配一个值来修复它。例如,通过分配null或更合适的"0"

string berichtAantalMunten = "0";

但是,您正在使用变量,+=就像整数一样,即使它是string

berichtAantalMunten +=  aantalMunten[1].ToString() + " x € 1,00'n";
因此,在

计算完值后,您可能想在最后将其转换为字符串。

问题是对berichtAantalMunten的第二次调用:

berichtAantalMunten += ...

由于不确定berichtAantalMunten是否已设置为任何内容。一个解决方案是将其初始化为"",或使用StringBuilder来创建文本。