Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Fungsi Agregat LINQ Berfungsi untuk Penjumlahan, Penggabungan dan Pendaraban?

Bagaimanakah Fungsi Agregat LINQ Berfungsi untuk Penjumlahan, Penggabungan dan Pendaraban?

DDD
DDDasal
2024-12-26 02:11:09656semak imbas

How Does LINQ's Aggregate Function Work for Summation, Concatenation, and Multiplication?

LINQ Aggregate: Penjelasan Komprehensif

Fungsi LINQ Aggregate menjalankan operasi pada jujukan elemen sambil mengambil kira keputusan operasi sebelumnya. Pada dasarnya, ia secara berulang memproses setiap elemen dalam jujukan, mengumpul hasil operasi.

Penerangan dan Contoh

Untuk memahami Agregat, pertimbangkan takrifan dan contoh berikut:

  • Penjumlahan: Mengira jumlah siri nombor.
var nums = new[] { 1, 2, 3, 4 };
var sum = nums.Aggregate((a, b) => a + b);
Console.WriteLine(sum); // Output: 10 (1 + 2 + 3 + 4)
  • Penggabungan Rentetan: Mencipta senarai yang dipisahkan koma daripada tatasusunan rentetan.
var chars = new[] { "a", "b", "c", "d" };
var csv = chars.Aggregate((a, b) => a + "," + b);
Console.WriteLine(csv); // Output: a,b,c,d
  • Pendaraban dengan Benih: Bermula dengan nilai benih dan darabkannya dengan setiap elemen dalam urutan.
var multipliers = new[] { 10, 20, 30, 40 };
var multiplied = multipliers.Aggregate(5, (a, b) => a * b);
Console.WriteLine(multiplied); // Output: 1200000 ((((5 * 10) * 20) * 30) * 40)

Contoh Terperinci

Contoh 1: Menjumlahkan Nombor

var nums = new[] { 1, 2, 3, 4 };
var sum = nums.Aggregate((a, b) => a + b);

Penjelasan:

  • The Fungsi agregat bermula dengan dua elemen pertama, 1 dan 2, dan melakukan penambahan (1 2 = 3).
  • Hasil (3) menjadi penumpuk (a) untuk langkah seterusnya.
  • Penumpuk kemudiannya digabungkan dengan elemen seterusnya, 3, menghasilkan penumpuk baharu (6).
  • Proses ini berterusan sehingga semua elemen telah diproses, mengumpul jumlah (6 4 = 10).

Contoh 2: Mencipta CSV daripada Rentetan

var chars = new[] { "a", "b", "c", "d" };
var csv = chars.Aggregate((a, b) => a + "," + b);

Penjelasan :

  • Seperti contoh sebelumnya, Agregat berulang jujukan.
  • Ia bermula dengan menggabungkan dua elemen pertama ("a" dan "b") menjadi "a,b".
  • Penumpuk ("a,b") kemudiannya digabungkan dengan elemen seterusnya ("c") untuk menjadi "a,b,c".
  • Hasil akhir ialah rentetan dengan semua elemen dipisahkan dengan koma ("a,b,c,d").

Contoh 3: Mendarab Nombor dengan Benih

var multipliers = new[] { 10, 20, 30, 40 };
var multiplied = multipliers.Aggregate(5, (a, b) => a * b);

Penjelasan:

  • Agregat menerima lebihan beban apabila nilai "benih" (5) disediakan.
  • Benih ialah nilai awal penumpuk.
  • Fungsi mendarab penumpuk dengan elemen pertama (5 * 10 = 50).
  • Terhasil penumpuk (50) kemudiannya didarab dengan unsur seterusnya (50 * 20 = 1000).
  • Ini proses diteruskan, akhirnya mendarabkan semua elemen dan benih (1000 * 40 = 1200000).

Kesimpulan

LINQ Aggregate menyediakan cara yang berkuasa untuk melaksanakan pelbagai operasi pada jujukan, termasuk penjumlahan, penggabungan, dan pengumpulan berganda. Kepelbagaian dan kemudahan penggunaannya menjadikannya alat yang berharga untuk manipulasi data dalam C# dan bahasa .NET yang lain.

Atas ialah kandungan terperinci Bagaimanakah Fungsi Agregat LINQ Berfungsi untuk Penjumlahan, Penggabungan dan Pendaraban?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn