2012-03-14 59 views

回答

0

如下:

List<Int32> list1 = GetList(); 
List<Int32> list2 = (from e in list2 select e).ToList(); 

list1 = GetList(); 
    List<Int32> list2 = new List<Int32>(list1); 
+0

我試着鑄造,而不是工作。謝謝!我會盡快接受你的回答。 – pencilCake 2012-03-14 09:40:30

+0

@pencilCake - 好的感謝您的評論,它適合你...... – 2012-03-14 09:46:14

+0

但請注意,'list1 = list2 = GetList();'在語義上不同於其他所有解決方案。它不創建新的列表,它只是複製參考。 – Henrik 2012-03-14 10:20:49

4

無需就撞了上去LINQ只是所有元素從一個列表複製:

List<Int32> list1 = GetList(); 
List<Int32> list2 = new List<Int32>(list1); 
+0

這很酷!我不知道 – pencilCake 2012-03-14 09:42:02

0

我不是當然,如果這是你想要的。但這樣的事情:

List<Int32> list2 = (from e in list2 select e).ToList(); 

List<Int32> list2 =list1.Select (l =>l).ToList(); 
2

使用LINQ:

List<int> list1 = GetList(); 
List<int> list2 = list1.Select(x => x).ToList(); 

較容易的方法是

List<int> list2 = new List<int>(list1); 
5

爲什麼沒有人提出這樣的解決方案:

List<int> list1 = GetTheList(); 
List<int> list2 = list1.ToList(); 

,爲什麼你不覺得奇怪:

.Select(x => x) 

這種表達什麼都不做。

相關問題