Csharp/C Sharp/LINQ/SequenceEqual — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Версия 18:31, 26 мая 2010
Содержание
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>