Giriş
Equality (denklik) metodları iki Enumerable listesini dolaşarak birbirleri ile aynı olup olmadıklarını döndürürler.
SequenceEqual Metodu
Açıklaması şöyle
Örnek
İki diziyi kolayca karşılaştırmak için şöyle yaparız.
İki dizinin X alanına göre karşılaştırmak için şöyle yaparız.
Palindrom kontrolünü şöyle yaparız.
Equality (denklik) metodları iki Enumerable listesini dolaşarak birbirleri ile aynı olup olmadıklarını döndürürler.
SequenceEqual Metodu
Açıklaması şöyle
SequenceEqual metodunda sıra ve sayı dikkate alınır. Her iki dizinin de tıpatıp aynı olması gerekir. Eğer bir dizi diğerini içeriyorsa diye kontrol etmek istersek Contains'i kullanabiliriz.Determines whether two sequences are equal by comparing the elements by using the default equality comparer for their type.
Örnek
İki diziyi kolayca karşılaştırmak için şöyle yaparız.
Array.Sort<int>(input1);
Array.Sort<int>(input2);
bool equal = input1.SequenceEqual(input2);
Örnekİki dizinin X alanına göre karşılaştırmak için şöyle yaparız.
!list1.Select(x => x.Id).SequenceEqual(list2.Select(x => x.Id));
ÖrnekPalindrom kontrolünü şöyle yaparız.
public static bool IsPalindromWith(this string str1, string str2)
{
if(str1 == null || str2 == null) return false;
return str1.SequenceEqual(str2.Reverse());
}
IsMatch Extension Metodu
Eğer dizinlerden birisinin null olma ihtimali varsa şöyle yapabiliriz. public bool IsMatch<T>(IEnumerable<T> a, IEnumerable<T> b)
{
if (a != null && b != null)
return a.SequenceEqual(b);
return (a == null && b == null);
}
Hiç yorum yok:
Yorum Gönder