我想加3到所有list<int>
成員,而不使用for循環或foreach循環?我能做到這一點嗎?怎麼樣?添加3到列表中的所有整數沒有for循環c#
-2
A
回答
14
東西地方將不得不循環。你不必在你的代碼中循環使用,但是必須要做的事情。
我想不出任何副手,這將修改所有元素的列表,但使用LINQ,你可以很容易地創建一個新的List<int>
:
var plusThree = originalList.Select(x => x + 3).ToList();
或預LINQ(及略微更高效,也更List<T>
特異性):
var plusThree = originalList.ConvertAll(x => x + 3);
但是這兩個將被循環幕後。
您可能會創建一個突出IList<T>
實現其懶洋洋地應用的投影(或者可能是雙射,如果你想成爲真正看中的)......但是這將是顯著大量的工作。
4
你必須改變列表本身的值,所以在for循環中沒有其他辦法,除非你允許創建一個新列表,那麼你可以使用Linq(它將循環它是自己的代碼)。
for(int i = 0; i < list.Count; i++) list[i]+=3;
0
另一種方式來做到這一點(ofcourse,感覺就像寫foreach循環,而無需實際寫它)
static void Main(string[] args)
{
List<int> list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);
list.Add(4);
list.Add(5);
int k = 0;
list.ForEach(delegate(int i) { list[k++] = i+3; });
foreach (var item in list)
{
Console.WriteLine(item.ToString());
}
Console.ReadKey();
}
相關問題
- 1. 如何在JavaScript中使用for循環將所有正整數添加到'sum'?
- 2. Android將所有對象添加到循環後列表中
- 3. 沒有for循環
- 4. Python for循環沒有循環遍歷所有項目
- 5. 添加一個for循環列表
- 6. 所有沒有列表/數組的對象循環
- 7. 將列添加到for循環中的數據框中
- 8. 將for循環的輸出添加到列表中
- 9. 我的for循環沒有得到值
- 10. for循環不訪問列表中的所有元素python
- 11. 「For」循環沒有處理所有數據行
- 12. For循環scala沒有序列?
- 13. Python for循環列表與目錄沒有找到每個值
- 14. 沒有for循環seq的間隔數
- 15. 使用for循環將列添加到SAS中的數據集
- 16. 將新屬性添加到FOR循環中現有的JSON
- 17. .Net 4.0 C# - 添加到沒有手動循環的集合
- 18. 在for循環中添加列R
- 19. For循環沒有運行到最後?
- 20. For循環沒有得到執行
- 21. 在C++中for循環中的數字之間添加加號
- 22. 有問題,在加載所有JSON數據到標記層中For循環
- 23. 是否有可能在for循環中增加整數/ genvar
- 24. 沒有得到所需的輸出從For循環
- 25. Java泛型,添加列表中的所有整數/向量
- 26. 通過for循環添加值後返回0列表 - c#
- 27. Opencv CvSeq *將整數值添加到序列中的所有點
- 28. Objective-C for循環到Swift 3
- 29. 在for循環中添加整數並打印總數
- 30. 爲什麼python for循環使用我列表的所有值?
對於真正的「預LINQ」你不得不溝拉姆達。 – 2012-01-02 10:57:06
@HenkHolterman:不行 - 只要你有C#3+編譯器,你仍然可以在使用.NET 2時使用lambda表達式。希望OP不會繼續使用Visual Studio 2005 :) – 2012-01-02 11:13:51