c#变量在for循环内声明与外的区别

1.这样写是错误的

#region 有这样的一个字符串类型的数组{"老杨","老苏","老马","老牛"};要求 变换成这样一个字符串:老杨|老苏|老马|老牛
string[] str = { "老杨", "老苏", "老马", "老牛" };
for (int i = 0; i < str.Length - 1; i++)
{
string s += str[i] + "|";   //声明一个变量s
s += str[str.Length - 1];
Console.WriteLine(s);

}

#endregion

Console.ReadKey();

错误列表:

分析原因是:

在循环体里面声明,只能给一次值,所以先在循环外声明,再在循环体中使用。

2.正确的写法:

#region 有这样的一个字符串类型的数组{"老杨","老苏","老马","老牛"};要求 变换成这样一个字符串:老杨|老苏|老马|老牛
string[] str = { "老杨", "老苏", "老马", "老牛" };
string s = string.Empty;                           //先声明
for (int i = 0; i < str.Length - 1; i++)
{
s += str[i] + "|";                               //再赋值

}
s += str[str.Length - 1];
Console.WriteLine(s);
#endregion

Console.ReadKey();

 

posted @ 2015-09-30 10:36  姚志超  阅读(2327)  评论(0编辑  收藏  举报