C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#の別のリストにないアイテムを1つのリストで見つける方法は?


LINQ Except演算子は、LINQの集合演算子カテゴリに分類されます

Except()メソッドには2つのコレクションが必要であり、2番目のコレクションに存在しない要素を検索します

拡張メソッドが複合型のコレクションに対して正しい結果を返さないことを除いて。

Except()メソッドを使用した例

using System;
using System.Collections.Generic;
using System.Linq;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         List<string> animalsList1 = new List<string> {
            "tiger", "lion", "dog"
         };
         Console.WriteLine($"Values in List1:");
         foreach (var val in animalsList1) {
            Console.WriteLine($"{val}");
         }
         List<string> animalsList2 = new List<string> {
            "tiger", "cat", "deer"
         };
         Console.WriteLine($"Values in List2:");
         foreach (var val in animalsList1) {
            Console.WriteLine($"{val}");
         }
         var animalsList3 = animalsList1.Except(animalsList2);
         Console.WriteLine($"Value in List1 that are not in List2:");
         foreach (var val in animalsList3) {
            Console.WriteLine($"{val}");
         }
         Console.ReadLine();
      }
   }
}

出力

上記のコードの出力は

です。
Values in List1:
tiger
lion
dog
Values in List2:
tiger
lion
dog
Value in List1 that are not in List2:
lion
dog

Where句を使用した例

using System;
using System.Collections.Generic;
using System.Linq;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         List<Fruit> fruitsList1 = new List<Fruit> {
            new Fruit {
               Name = "Apple",
               Size = "Small"
            },
            new Fruit {
               Name = "Orange",
               Size = "Small"
            }
         };
         Console.WriteLine($"Values in List1:");
         foreach (var val in fruitsList1) {
            Console.WriteLine($"{val.Name}");
         }
         List<Fruit> fruitsList2 = new List<Fruit> {
            new Fruit {
               Name = "Apple",
               Size = "Small"
            },
            new Fruit {
               Name = "Mango",
               Size = "Small"
            }
         };
         Console.WriteLine($"Values in List2:");
         foreach (var val in fruitsList2) {
            Console.WriteLine($"{val.Name}");
         }
         var fruitsList3 = fruitsList1.Where(f1 => fruitsList2.All(f2 => f2.Name != f1.Name));
         Console.WriteLine($"Values in List1 that are not in List2:");
         foreach (var val in fruitsList3) {
            Console.WriteLine($"{val.Name}");
         }
         Console.ReadLine();
      }
   }
   public class Fruit {
      public string Name { get; set; }
      public string Size { get; set; }
   }
}

出力

上記のコードの出力は

です。
Values in List1:
Apple
Orange
Values in List2:
Apple
Mango
Values in List1 that are not in List2:
Orange

  1. あるPowerPointプレゼンテーションを別のプレゼンテーションにリンクする方法

    あるプレゼンテーションから別のプレゼンテーションに移行する際の一時停止が長すぎると、作業が台無しになる可能性があります。 2つをリンクすると、貴重な時間を節約できるだけでなく、移行プロセスをシームレスにすることができます。そこで、あるPowerPointプレゼンテーションを別のプレゼンテーションにリンクする方法を説明するチュートリアルを次に示します。 MicrosoftOfficePowerPointで。 あるPowerPointプレゼンテーションを別のプレゼンテーションにリンクする 幸運と恵みのまれな時期に自分を見つけることは困難です。したがって、運にほとんどまたはまったく依存しない方

  2. Gmailの連絡先をあるアカウントから別のアカウントに転送する方法

    Googleメールが個人情報をオンラインで自動的にバックアップするようになったおかげで、Gmailリストに各連絡先を1つずつ保存する必要がなくなりました。 Gmailの連絡先を古いアカウントから新しいアカウントに転送する手順は次のとおりです。 PCの使用 1.Webブラウザでcontacts.google.comにアクセスします。 Googleアカウントにログインします。 2.[その他]オプションが表示されるまでページを下にスクロールします。 3.ここで、ドロップダウンメニューに[エクスポート]オプションがあります。 4.2つのオプションが表示されます。1つは連絡先を個別に選択する方