-4

我需要转换LinkedList<String>LinkedList<int>使用 Linq 吗?
实现此功能的最佳方法是什么?

4

4 回答 4

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);
于 2012-08-08T14:17:47.677 回答
3
LinkedList<string> stringLinkedList = new LinkedList<string>(new[] { "1", "2", "3" });
LinkedList<int> intLinkedList = new LinkedList<int>(stringLinkedList.Select(i => Int32.Parse(i)));
于 2012-08-08T14:16:35.173 回答
1

既然你想要一个 linq 解决方案,那么:

 List<int> integ = st.Select(s => int.Parse(s)).ToList();

其中 st 是一个列表

于 2012-08-08T14:19:59.737 回答
1

怎么样...

LinkedList<string> stringTest = new LinkedList<string>();
LinkedList<int> intTest = new LinkedList<int>(stringTest.Cast<int>());

抱歉,无视 - 我没有注意到他专门要求 Linq 解决方案。

于 2012-08-08T17:12:31.620 回答