Csharp/C Sharp/LINQ/SequenceEqual

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

SequenceEqual Operator

<source lang="csharp"> using System; using System.Linq; using System.Collections; using System.Collections.Generic; public class MainClass {

   public static void Main() {
       string[] presidents = {"G", "H", "a", "H", "over", "Jack"};
       bool eq = presidents.SequenceEqual(presidents);
       Console.WriteLine(eq);
   }

}

</source>


SequenceEqual Operator with string array

<source lang="csharp"> using System; using System.Linq; using System.Collections; using System.Collections.Generic; public class MyStringifiedNumberComparer : IEqualityComparer<string> {

   public bool Equals(string x, string y) {
       return (Int32.Parse(x) == Int32.Parse(y));
   }
   public int GetHashCode(string obj) {
       return Int32.Parse(obj).ToString().GetHashCode();
   }

} public class MainClass {

   public static void Main() {
       string[] stringifiedNums1 = { "101", "49", "017", "1080", "00027", "2" };
       string[] stringifiedNums2 = {"1", "1049", "17", "080", "27", "02" };
       bool eq = stringifiedNums1.SequenceEqual(stringifiedNums2,new MyStringifiedNumberComparer());
       Console.WriteLine(eq);
   }

}

</source>


SequenceEqual Operator with Take and Count

<source lang="csharp"> using System; using System.Linq; using System.Collections; using System.Collections.Generic; public class MainClass {

   public static void Main() {
       string[] presidents = {"G", "H", "a", "H", "over", "Jack"};
       bool eq = presidents.SequenceEqual(presidents.Take(presidents.Count()));
       Console.WriteLine(eq);
   }

}

</source>


SequenceEqual Operator with Take, Concat and Skip

<source lang="csharp"> using System; using System.Linq; using System.Collections; using System.Collections.Generic; public class MainClass {

   public static void Main() {
       string[] presidents = {"G", "H", "a", "H", "over", "Jack"};
       bool eq = presidents.SequenceEqual(presidents.Take(5).Concat(presidents.Skip(5)));
       Console.WriteLine(eq);
   }

}

</source>