機能
2つのシーケンスが同じかどうかを判定します。
オーバーロード
SequenceEqualには2つのオーバーロードがあります。
- 比較するシーケンス
- 比較するシーケンス+比較子
返値
Bool
サンプル①
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
class Pet { public string Name { get; set; } public int Age { get; set; } } public static void SequenceEqualEx1() { Pet pet1 = new Pet { Name = "Turbo", Age = 2 }; Pet pet2 = new Pet { Name = "Peanut", Age = 8 }; // Create two lists of pets. List<Pet> pets1 = new List<Pet> { pet1, pet2 }; List<Pet> pets2 = new List<Pet> { pet1, pet2 }; bool equal = pets1.SequenceEqual(pets2); Console.WriteLine( "The lists {0} equal.", equal ? "are" : "are not"); } /* This code produces the following output: The lists are equal. */ |
サンプル②
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
class Pet { public string Name { get; set; } public int Age { get; set; } } public static void SequenceEqualEx2() { Pet pet1 = new Pet() { Name = "Turbo", Age = 2 }; Pet pet2 = new Pet() { Name = "Peanut", Age = 8 }; // Create two lists of pets. List<Pet> pets1 = new List<Pet> { pet1, pet2 }; List<Pet> pets2 = new List<Pet> { new Pet { Name = "Turbo", Age = 2 }, new Pet { Name = "Peanut", Age = 8 } }; bool equal = pets1.SequenceEqual(pets2); Console.WriteLine("The lists {0} equal.", equal ? "are" : "are not"); } /* This code produces the following output: The lists are not equal. */ |