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();