在 C# 中對整數陣列求和
本文將介紹如何在 C# 中對整數陣列求和。
使用 sum()
方法對 C#
中的整數陣列求和
IEnumerable
派生自 System.Collections.Generic
名稱空間。它是一個定義 GetEnumerator
函式的介面。它允許迴圈通過一組類或匿名型別列表。
sum() 方法是在 System.Linq
名稱空間中找到的擴充套件方法。此方法將 IEnumerable
中的所有數值相加,如列表或陣列。
sum()
方法可用於實現 IEnumerable
的物件,該物件具有所有 C# 數字資料型別,如 int
、long
、double
和 decimal
。這是一種通過避免迴圈來新增數字集合的優化方式。
這種方法鼓勵更少的程式碼行,並可能減少錯誤,但有一些開銷使其比 for
迴圈慢。
下面是使用 sum()
的程式碼示例。
using System;
using System.Linq;
namespace MyApplication {
class Program {
static void Main(string[] args) {
int[] arr = new int[] { 1, 2, 3 };
int sum = arr.Sum();
Console.WriteLine(sum);
}
}
}
輸出:
6
使用 Array.foreach
方法對 C#
中的整數陣列求和
foreach
語句是一種簡潔且不太複雜的遍歷陣列元素的方法。foreach
方法以升序處理一維陣列的元素,從索引 0 處的元素開始到索引 array.length
- 1 處的元素。
delegate
是一種型別安全且安全的引用型別。它用於封裝命名或匿名方法。
必須使用具有相容返回型別的方法或 lambda 表示式來例項化委託。我們使用巢狀在 foreach
語句中的 lambda 表示式。
下面是使用 foreach
方法的程式碼示例。
using System;
namespace MyApplication {
class Program {
static void Main(string[] args) {
int[] arr = new int[] { 1, 2, 3 };
int sum = 0;
Array.ForEach(arr, i => sum += i);
Console.WriteLine(sum);
}
}
}
輸出:
6
使用 Enumerable.Aggregate()
方法對 C#
中的整數陣列求和
Enumerable.Aggregate
方法存在於 System.Linq
名稱空間中。它在跟蹤或儲存先前結果的同時對列表或陣列的每個元素執行數學運算。
例如,我們必須對陣列或數字列表 {2,4,6,8} 執行加法運算。Aggregate
函式將 2 和 4 相加,將結果(即 6)向前傳遞,將該結果與下一個元素 (6+6) 相加,將結果向前傳遞,然後將其與下一個元素 (12+8) 相加。處理最後一個數字時,它返回最終結果。
下面是一個程式碼示例。
using System;
using System.Linq;
namespace MyApplication {
class Program {
static void Main(string[] args) {
int[] arr = new int[] { 1, 2, 3 };
int sum = arr.Aggregate((total, next) => total + next);
Console.WriteLine(sum);
}
}
}
輸出:
6