我需要使用Linq将LinkedList<String>
转换为LinkedList<int>
实现此功能的最佳方法是什么?
答案 0 :(得分:10)
LinkedList<T>
包含一个构造函数,它接收IEnumerable<T>
并根据它进行初始化。所以你要做的就是使用LINQ的Select
运算符将所有字符串转换为int:
LinkedList<string> stringList = ...;
IEnumerable<int> ints = stringList.Select(str => int.Parse(str));
LinkedList<int> intList = new LinkedList<int>(ints);
答案 1 :(得分:3)
LinkedList<string> stringLinkedList = new LinkedList<string>(new[] { "1", "2", "3" });
LinkedList<int> intLinkedList = new LinkedList<int>(stringLinkedList.Select(i => Int32.Parse(i)));
答案 2 :(得分:1)
因为你想要一个linq解决方案如何:
List<int> integ = st.Select(s => int.Parse(s)).ToList();
其中st是List
答案 3 :(得分:1)
怎么样......
LinkedList<string> stringTest = new LinkedList<string>();
LinkedList<int> intTest = new LinkedList<int>(stringTest.Cast<int>());
抱歉,无视 - 我没有注意到他专门要求Linq解决方案。