好吧,我坚持使用未分配的局部变量。我首先声明我的变量并创建我的字典。
在我的代码下面:
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";
}
答案 0 :(得分:5)
变量berichtAantalMunten
在任何情况下都没有赋值。你可以通过明确地分配一个值来修复它。例如,通过分配null
或 - 更多approopriate- "0"
:
string berichtAantalMunten = "0";
但是,即使它是+=
string
之类的整数变量
berichtAantalMunten += aantalMunten[1].ToString() + " x € 1,00\n";
所以也许你想在计算出值之后将它转换成一个字符串。
答案 1 :(得分:1)
问题是对berichtAantalMunten
的第二次调用:
berichtAantalMunten += ...
由于不确定berichtAantalMunten
是否已设置为任何内容。解决方案是将其初始化为""
,或使用StringBuilder
创建文本。