C# 为什么这个c程序会抛出这样的错误;使用已指定的局部变量添加“?”;? 使用系统; 类添加分隔符 { 静态字符串AddSeparator(字符串str、字符串分隔符) { 添加字符串; for(int i=0;i

C# 为什么这个c程序会抛出这样的错误;使用已指定的局部变量添加“?”;? 使用系统; 类添加分隔符 { 静态字符串AddSeparator(字符串str、字符串分隔符) { 添加字符串; for(int i=0;i,c#,string,C#,String,foo+=bar相当于foo=foo+bar。如果foo未赋值,则使用未赋值变量。您需要为“added”赋值。我不知道您想从什么开始,但可能是一个空字符串 string added = ""; @madreflection我认为即使是added+=…也是一个问题,对吗?作为旁白。不要这样做字符串操作,而是使用StringBuilder类。@OlivierDepriester:不,只要added已初始化。@madreflection当然,但added未初始化。@madrefl

foo+=bar
相当于
foo=foo+bar
。如果
foo
未赋值,则使用未赋值变量。

您需要为“added”赋值。我不知道您想从什么开始,但可能是一个空字符串

string added = "";

@madreflection我认为即使是
added+=…
也是一个问题,对吗?作为旁白。不要这样做字符串操作,而是使用StringBuilder类。@OlivierDepriester:不,只要
added
已初始化。@madreflection当然,但
added
未初始化。@madreflection:(参考“不,这很好”)是的,但我相信Olivier的观点是,您的第一条注释暗示(或可以理解为暗示)只有循环后的return语句是一个问题,而循环体也是一个问题。当我搜索解决方案时,它显示将字符串声明为“string str=string.Empty”
string added = "";