我想加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. 添加從for循環返回的所有整數?
- 2. 如何在JavaScript中使用for循環將所有正整數添加到'sum'?
- 3. C# - 使用for循環將Datagridview列添加到列表框中
- 4. Android將所有對象添加到循環後列表中
- 5. 沒有for循環
- 6. 添加一個for循環以包含我的數據集中的所有列
- 7. 有沒有辦法在for循環中添加多個條件?
- 8. Python for循環沒有循環遍歷所有項目
- 9. 讓一個for循環將所有結果添加到現有數據。框架
- 10. 有沒有辦法在for循環中爲lua中的變量添加數值?
- 11. 將for循環的值分配到整數數組列表中
- 12. C#for循環顯示所有記錄
- 13. 所有沒有列表/數組的對象循環
- 14. 添加一個for循環列表
- 15. 我的for循環沒有得到值
- 16. 將列添加到for循環中的數據框中
- 17. 將for循環的輸出添加到列表中
- 18. Python:My for循環不會遍歷列表中的所有項目
- 19. for循環不訪問列表中的所有元素python
- 20. 有沒有辦法看到迭代在for循環中的列表?
- 21. 「For」循環沒有處理所有數據行
- 22. For循環scala沒有序列?
- 23. Python for循環列表與目錄沒有找到每個值
- 24. For循環將所有數字追加到變量
- 25. 沒有for循環seq的間隔數
- 26. 創建div並將div添加到for循環中for循環
- 27. 使用for循環將列添加到SAS中的數據集
- 28. R如何將列添加到for循環中的數據框?
- 29. 行,沒有for循環
- 30. 將新屬性添加到FOR循環中現有的JSON
對於真正的「預LINQ」你不得不溝拉姆達。 – 2012-01-02 10:57:06
@HenkHolterman:不行 - 只要你有C#3+編譯器,你仍然可以在使用.NET 2時使用lambda表達式。希望OP不會繼續使用Visual Studio 2005 :) – 2012-01-02 11:13:51