演员表<int> 列表<string> 中。网2.0
题
解决方案
.网2.0的 ConvertAll
方法在这里你可以通过在一个函数转换器:
List<int> l1 = new List<int>(new int[] { 1,2,3 } );
List<string> l2 = l1.ConvertAll<string>(delegate(int i) { return i.ToString(); });
其他提示
更新2010年
List<int> l1 = new List<int>(new int[] { 1,2,3 } );
List<string> l2 = l1.ConvertAll<string>(x => x.ToString());
是C#2.0能够做到的 List<T>.Convert
?如果是这样,我认为你最好的猜想是用于与委托:
List<int> list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);
list.Convert(delegate (int i) { return i.ToString(); });
沿着这些线路的东西。
投票格伦的答案,这可能是正确的代码;-)
你就不能直接转换为不明确或隐含的投存在从int串,也会 已 是一个方法涉及。ToString()例如:-
foreach (int i in intList) stringList.Add(i.ToString());
编辑 -或因为其他人已经指出的相当出色,使用intList.ConvertAll(代表(int i){return i。ToString();});然而很明显你们仍然有用。ToString()它是一个转换而不是一个演员。
你可以使用:
List<int> items = new List<int>(new int[] { 1,2,3 } );
List<string> s = (from i in items select i.ToString()).ToList();
你必须建立一个新的名单。潜在的位的陈述 List<int>
和 List<string>
是完全不相容--在64位平台,例如,单个成员甚至不相同的大小。
这在理论上是可能的治疗 List<string>
作为一个 List<object>
-这让你成的令人兴奋的世界的协变和逆变的,而不是目前支持通过C#或VB.NET.
result = listOfInt.Select(i => i.ToString(CultureInfo.InvariantCulture)).ToList()
替代参数的结果,并listOfInt到你的参数
不隶属于 StackOverflow