我有一个IList,我希望把它变成一个ToArray()字符串结果。 目前我必须做以下事情:(
List<string> values = new List<string>();
foreach(var value in numberList)
{
values.Add(value.ToString());
}
...
string blah = string.Join(",", values.ToArray());
我希望删除foreach并用一些FunkyColdMedina linq代码替换它。
干杯!
答案 0 :(得分:10)
values.Select(v => v.ToString()).ToArray();
或一个班轮
string blah = string.Join(",", values.Select(v => v.ToString()).ToArray());
答案 1 :(得分:3)
List<Int32> source= new List<Int32>()
{
1,2,3
} // Above is List of Integer
//I am Using ConvertAll Method of List
//This function is use to convert from one type to another
//Below i am converting List of integer to list of string
List<String> result = source.ConverTAll(p=>p.toString());
string[] array = result.ToArray()
答案 2 :(得分:0)
对于那些没有使用LINQ的人来说这个问题(即如果你不是在.NET 3.x上)那么会有一个稍微复杂一点的方法。他们的关键是,如果你创建一个List,你就可以访问List.ToArray():
IList<int> numberList = new List<int> {1, 2, 3, 4, 5};
int[] intArray = new List<int>(numberList).ToArray();
string blah = string.Join(",", Array.ConvertAll(intArray, input => input.ToString()));
效率不高,因为您正在创建输入数据,List,int数组和字符串数组,只是为了获取连接的字符串。没有.NET 3.x,你的迭代器方法可能是最好的。