我需要使用 Linq 将LinkedList<String>
转换为LinkedList<int>
?
实现此功能的最佳方法是什么?
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);
LinkedList<string> stringLinkedList = new LinkedList<string>(new[] { "1", "2", "3" });
LinkedList<int> intLinkedList = new LinkedList<int>(stringLinkedList.Select(i => Int32.Parse(i)));
既然你想要一个 linq 解决方案,怎么样:
List<int> integ = st.Select(s => int.Parse(s)).ToList();
其中 st 是一个列表
怎么样...
LinkedList<string> stringTest = new LinkedList<string>();
LinkedList<int> intTest = new LinkedList<int>(stringTest.Cast<int>());
对不起,忽略 - 我没有注意到他专门要求 Linq 解决方案。