Cast List
|
1 2 | List<int> l1 = new List<int>(new int[] { 1, 2, 3 } ); List<string> l2 = l1.ConvertAll<string>(delegate(int i) { return i.ToString(); }); |
2010年更新
1 2 | List<int> l1 = new List<int>(new int[] { 1,2,3 } ); List<string> l2 = l1.ConvertAll<string>(x => x.ToString()); |
C#2.0是否可以执行
1 2 3 4 5 | List<int> list = new List<int>(); list.Add(1); list.Add(2); list.Add(3); list.Convert(delegate (int i) { return i.ToString(); }); |
遵循这些原则。
支持格伦的答案,这可能是正确的代码;-)
您可以使用:
1 2 | List<int> items = new List<int>(new int[] { 1,2,3 } ); List<string> s = (from i in items select i.ToString()).ToList(); |
您将无法直接转换它,因为从int到string不存在任何显式或隐式转换,它必须是涉及.ToString()的方法,例如:
1 | foreach (int i in intList) stringList.Add(i.ToString()); |
编辑-或正如其他人指出的那样,使用intList.ConvertAll(delegate(int i){return i.ToString();});,但是显然您仍然必须使用.ToString(),这是一种转换而不是一个演员。
将参数结果和listOfInt替换为您的参数
您必须建立一个新列表。
从理论上讲,将
从int List转换为字符串List可以用通常的ToString()以外的两种附加方式完成。选择一个令您满意的选择。
1 | var stringlist = intlist.Select(x=>""+x).ToList(); |
或者:
1 | var stringlist = intlist.Select(x=>$"{x}").ToList(); |
最后是传统的:
1 | var stringlist = intlist.Select(x=>x.ToString()).ToList(); |