首頁 >後端開發 >C++ >如何在 C# 中有效組合多個列表,同時處理重複項並保留原始列表?

如何在 C# 中有效組合多個列表,同時處理重複項並保留原始列表?

Linda Hamilton
Linda Hamilton原創
2024-12-28 10:28:18270瀏覽

How can I efficiently combine multiple lists in C# while handling duplicates and preserving original lists?

輕鬆組合多個清單

在程式設計任務中,常常會遇到需要將多個清單合併在一起的情況。考慮這樣的場景:您有兩個包含字串的列表,並且希望在保持原始序列並消除重複項的同時有效地組合它們。

解決方案

幸運的是,.NET 框架為這項任務提供了一個簡單的解決方案。建議的方法如下:

List<string> a = new List<string>();
List<string> b = new List<string>();

a.AddRange(b);

透過使用 AddRange 方法,我們可以毫不費力地將清單 b 的元素追加到清單 a 的末端。但是,此方法不會刪除重複項。

保留原始列表

如果不希望更改原始列表,我們可以使用Concat 方法:

var newList = a.Concat(b);

此操作創建一個新的IEnumerable集合,該集合組合了兩個列表的元素,而不修改原始集合。需要注意的是,如果清單 a 為 null,則 Concat 方法將傳回僅包含清單 b 的元素的 IEnumerable。

範例用法

考慮以下內容範例:

List<string> colors1 = new List<string> { "Red", "Blue", "Yellow" };
List<string> colors2 = new List<string> { "Orange", "Pink", "Green" };

Console.WriteLine("Original Lists:");
Console.WriteLine(string.Join(",", colors1));
Console.WriteLine(string.Join(",", colors2));

colors1.AddRange(colors2);
Console.WriteLine("Combined List with Duplicates:");
Console.WriteLine(string.Join(",", colors1));

var colors3 = colors1.Concat(colors2);
Console.WriteLine("Combined List without Duplicates:");
Console.WriteLine(string.Join(",", colors3));

輸出:

Original Lists:
Red,Blue,Yellow
Orange,Pink,Green
Combined List with Duplicates:
Red,Blue,Yellow,Orange,Pink,Green,Orange,Pink,Green
Combined List without Duplicates:
Red,Blue,Yellow,Orange,Pink,Green

輸出:上面的程式碼示範了如何使用AddRange 和Concat 方法來組合包含和不包含重複項的清單。

以上是如何在 C# 中有效組合多個列表,同時處理重複項並保留原始列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn