如何访问分配一些值的字符串在for循环中,外for循环 i可以为你提供的代码为你的方便访问可变外部for循环
for (Int32 i = 0; i < yourlist.Count; i++)
{
String str=(yourlist[i].ToString() + ",");
}
String str1 = (str).Substring(0, str.Length - 1);
显示的错误是
名“STR”不会在目前情况下
如何访问分配一些值的字符串在for循环中,外for循环 i可以为你提供的代码为你的方便访问可变外部for循环
for (Int32 i = 0; i < yourlist.Count; i++)
{
String str=(yourlist[i].ToString() + ",");
}
String str1 = (str).Substring(0, str.Length - 1);
显示的错误是
名“STR”不会在目前情况下
存在在声明内部变量10循环(或任何其他范围),它不在该范围之外。
您需要在循环之外声明该变量。
请注意,这不会做你想做的事,因为你不追加字符串。
而应该使用StringBuilder。
如果i > 0
只能追加", "
,可以使它变得更简单。
在.NET 4.0中,你可以用new overload of String.Join
替换整个循环:
string str1 = String.Join(", ", yourlist);
.NET 4.0之前,您可以用
string str1 = String.Join(", ", yourlist.Select(o => o.ToString()).ToArray());
那么我会得到什么结果 – 2011-01-09 13:45:26
存储嘿! thanx回复 – 2011-01-09 13:45:46
我的列表在这里给出了4个整数值,它是否仍然可以替代最后一个逗号? – 2011-01-09 13:54:10
String str = string.Empty;
for (Int32 i = 0; i < yourlist.Count; i++)
{
str=(yourlist[i].ToString() + ",");
}
String str1 = (str).Substring(0, str.Length - 1);
你也可能需要更换将结果存回str变量
str = (str).Substring(0, str.Length - 1);
在这种情况下,您不需要声明一个变量
该变量的范围不会扩展到循环外部。如果您要访问它的价值,你需要将它与一个更大的范围内保存到另一个变量,就像这样:
string str;
for (Int32 i = 0; i < yourlist.Count; i++)
{
str=(yourlist[i].ToString() + ",");
}
String str1 = (str).Substring(0, str.Length - 1);
但是,你正在做什么,可以做简单的:
var str1 = string.Join(",", yourlist.Select(o => o.ToString()).ToArray());
尝试下面的代码:
String str = "";
for (Int32 i = 0; i < yourlist.Count; i++)
{
str =(yourlist[i].ToString() + ",");
}
String str1 = (str).Substring(0, str.Length - 1);
环路starts.because声明的变量str之前声明变量str内部的for循环超出范围,因此是在编译错误。
String str;
for (int i = 0; i < yourlist.Count; i++)
{
str = (yourlist[i].ToString() + ",");
}
str1 = str.Substring(0, str.Length - 1);
但更好的方法来写这个代码是:
str1 = string.Join(",", yourlist);
虽然“海峡”和“STR1”是变量非常糟糕的名字。他们没有任何意义。一个变量名应该对这个变量存储的内容有一个线索,而不是它的数据类型。
String.Join是你想要的。你不必使用循环。
String.Join(",", yourlist);
你可能想添加一个标记'变量范围'或类似的东西。或谷歌的那个期限。 – xtofl 2011-01-09 13:45:00