foreach的小问题
做了个小练习:
int[] Ints = { 1, 2, 3 };
StringBuilder strShow = new StringBuilder();
string strFinal; //用于最后显示的
foreach (int temp in Ints)
{
1. //temp++; //不能对temp赋值...
strShow.Append(temp);
strFinal = strShow.ToString();
}
2. //TextBox1.Text = strFinal; //使用了为赋值的变量strFinal...
--------------------------------------
其中1.2处分别报错,错误描述,如注释部分。请大家帮忙给解释下,谢谢啦~
------解决方案--------------------1. foreach中的迭代变量是个只读变量(原因自己好好想想,涉及到装箱和拆箱)
2. string strFinal; 改成 string strFinal = string.Empty;
因为编译器可以认为你的foreach条件根本不成立,所以后面输出strFinal时没有赋值
------解决方案--------------------foreach的语法问题,foreach中的temp是只读的,这个错误改后,第二个应该没问题了。
------解决方案--------------------int[] Ints = { 1, 2, 3 };
StringBuilder strShow = new StringBuilder();
string strFinal= " "; //用于最后显示的
foreach (int temp in Ints)
{
strShow.Append(temp);
}
strFinal = strShow.ToString();//写在里面只会是3
TextBox1.Text = strFinal;
------解决方案--------------------来迟了~~
楼主都解决问题了....
不过路过就留个脚印吧.....
------解决方案--------------------是哦,来迟了.
------解决方案--------------------进来学习学习
------解决方案--------------------解决了!个人认为string strFinal=string.Empty;这样好一些,