1. ホーム
  2. c#

[解決済み] 2つのリストの和をとる最も簡単な方法

2023-06-23 04:10:19

質問

2つのリストA、Bの要素を互いに比較し、Bに存在する要素がAに存在しない場合のみAに追加する最も簡単な方法は何でしょうか?

説明のために リスト A = {1,2,3} とします。 リストB = {3,4,5} とします。

ということで、AUBの操作の後、次のようにしたい。 リストA = {1,2,3,4,5} とします。

どのように解決するのですか?

リストであれば、リスト以外にも AddRange メソッドを使用します。

var listB = new List<int>{3, 4, 5};  
var listA = new List<int>{1, 2, 3, 4, 5};

listA.AddRange(listB); // listA now has elements of listB also.

新しいリストが必要な場合(そして、重複を除外する場合)には、以下のようにします。 ユニオン

  var listB = new List<int>{3, 4, 5};  
  var listA = new List<int>{1, 2, 3, 4, 5};
  var listFinal = listA.Union(listB);

新しいリストが必要な場合(重複も含む)には を使うことができます。

  var listB = new List<int>{3, 4, 5};  
  var listA = new List<int>{1, 2, 3, 4, 5};
  var listFinal = listA.Concat(listB);

共通項目が必要な場合は 交わる .

var listB = new List<int>{3, 4, 5};  
var listA = new List<int>{1, 2, 3, 4};  
var listFinal = listA.Intersect(listB); //3,4