使用未分配的局部变量Dictionary

时间:2014-11-21 09:48:18

标签: c# .net dictionary

好吧,我坚持使用未分配的局部变量。我首先声明我的变量并创建我的字典。

在我的代码下面:

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";
}

2 个答案:

答案 0 :(得分:5)

变量berichtAantalMunten在任何情况下都没有赋值。你可以通过明确地分配一个值来修复它。例如,通过分配null或 - 更多approopriate- "0"

string berichtAantalMunten = "0";

但是,即使它是+=

,您也使用string之类的整数变量
berichtAantalMunten +=  aantalMunten[1].ToString() + " x € 1,00\n";

所以也许你想在计算出值之后将它转换成一个字符串。

答案 1 :(得分:1)

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

berichtAantalMunten += ...

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