我有一個整數列表 -我可以直接添加一個整數列表而不用循環遍歷它嗎?
List<int> intlist= new List<int>();
可我只是說 -
intlist.Sum();//I know sum() is already there as a function but I dont know how I can use it
,並得到該列表的總和,而不通過它循環。
我有一個整數列表 -我可以直接添加一個整數列表而不用循環遍歷它嗎?
List<int> intlist= new List<int>();
可我只是說 -
intlist.Sum();//I know sum() is already there as a function but I dont know how I can use it
,並得到該列表的總和,而不通過它循環。
是的,你可以使用Sum
那樣的。只是結果分配到的東西:
int s = intList.Sum();
現在你有數字的總和存儲在一個名爲s
變量列表。
它實際上是一個擴展方法Enumerable.Sum
在.NET 3.5中添加,它的作用不僅僅是列表。
當然,它在內部仍然會循環遍歷數字並添加它們,但調用此方法比自己編寫它要容易得多。使用.NET反射,你可以看到,實現相當簡單:
public static int Sum(this IEnumerable<int> source)
{
if (source == null)
{
throw Error.ArgumentNull("source");
}
int num = 0;
foreach (int num2 in source)
{
num += num2;
}
return num;
}
注意,也有Queryable.Sum
方法。這使您可以在數據庫中對數字進行求和,而無需獲取數據並在本地進行循環。相反,求和操作可以在數據庫中執行,只返回結果。
要計算列表的總和,您需要計算它作爲項目添加或稍後通過列表。如果你調用一個遍歷列表的函數,或者自己瀏覽列表,那麼沒有太大的區別。
所以,要回答你的問題,不,除非你計算添加項目的總和。
這是什麼語言,它的價值是什麼?
試圖在C#中進行操作。 – Vishal 2010-06-07 22:10:51
This link may help you。
「」您想計算C#編程語言中整數數組或整數列表中所有數字的總和。 LINQ中的Sum擴展方法提供了一種使用最少調用代碼來完成此操作的極好方法,但它有一些缺點和優點。在這裏,我們看看如何使用C#語言的System.Linq命名空間中的Sum擴展方法,在C#中看到一個數組和列表上的示例。「
注意,你必須「使用System.Linq」。 – Shawn 2012-08-30 16:11:21