Concat İle Ekleme Örneği 1-
Concat yöntemi iki koleksiyonu birleştirerek bir koleksiyon oluşturur.
Bu örnek, iki tamsayı dizisinin elemanlarını birleştirerek yeni bir dizi oluşturur.
// Bu sınıf IEnumerable<int> arayüzünü genişleten bir yöntem tanımlar.
public static class OzelSilsileIslecleri
{
public static IEnumerable<int> Katistir(this IEnumerable<int> birinci,
IEnumerable<int> ikinci,
Func<int, int, int> fonksiyon)
{
IEnumerator<int> Sayici1 = birinci.GetEnumerator();
IEnumerator<int> Sayici2 = ikinci.GetEnumerator();
while (Sayici1.MoveNext() && Sayici2.MoveNext())
{
yield return fonksiyon(Sayici1.Current, Sayici2.Current);
}
}
}
int[] CiftRakamlar = { 0, 2, 4, 6, 8 };
int[] TekRakamlar = { 1, 3, 5, 7, 9 };
var TumRakamlar = TekRakamlar.Concat(CiftRakamlar);
Console.WriteLine("Tüm rakamlar:");
foreach (var Rakam in TumRakamlar)
{
Console.Write(Rakam);
Console.Write(" ");
}Console.ReadLine();
Örneğin çıktısı şöyle olacaktır :
Tüm rakamlar:
1 3 5 7 9 0 2 4 6 8
Concat İle Ekleme Örneği 2
Concat yöntemi iki koleksiyonu birleştirerek bir koleksiyon oluşturur.
Bu örnek, öğrenci bilgilerini içeren bir veri kaynağından birinci ve ikinci sınıflardaki erkek
öğrencileri seçer ve daha sonra bu iki koleksiyonu birleştirip elemanlarını çıktıya yazar.
(Bu örnekte kullanılan veri kaynağını görmek için tıklayın.)
var Ogrenciler = OgrencileriGetir();
var BirinciSinifErkekleri =
from Ogrenci in Ogrenciler
where Ogrenci.Sinif == 1 && Ogrenci.Cinsiyet == "Erkek"
select Ogrenci.Adi;
var IkinciSinifErkekleri =
from Ogrenci in Ogrenciler
where Ogrenci.Sinif == 2 && Ogrenci.Cinsiyet == "Erkek"
select Ogrenci.Adi;
var BirinciVeIkinciSinifErkekleri =
BirinciSinifErkekleri.Concat(IkinciSinifErkekleri);
Console.WriteLine("1. ve 2. sınıflardaki erkek öğrenciler:");
foreach (var OgrenciAdi in BirinciVeIkinciSinifErkekleri)
{
Console.WriteLine(OgrenciAdi);
}
Console.ReadLine();
Örneğin çıktısı şöyle olacaktır :
1. ve 2. sınıflardaki erkek öğrenciler:
Tekin
Kenan
Erhan
Ahmet
Nuri
Erhan
SequenceEqual İle Karşılaştırma Örneği
SequenceEqual yöntemi, iki koleksiyonu karşılaştırarak tüm elemanlarının aynı ve aynı
dizilimde olup olmadığnı döndürür.
Bu örnek, şehir isimlerinden oluşan üç diziyi karşılaştırmakta ve dizilimlerinin aynı olup olmadığını çıktıya yazmaktadır.
var SehirlerA = new string[] { "Ankara", "İstanbul", "İzmir" };
var SehirlerB = new string[] { "İstanbul", "Ankara", "İzmir" };
var SehirlerC = new string[] { "Ankara", "İstanbul", "İzmir" };
var AveBSiraEsitMi = SehirlerA.SequenceEqual(SehirlerB);
var AveCSiraEsitMi = SehirlerA.SequenceEqual(SehirlerC);
var BveCSiraEsitMi = SehirlerB.SequenceEqual(SehirlerC);
Console.WriteLine("SehirlerA dizisi ile SehirlerB dizisindeki elemanlar ve sıralaması {0}.", AveBSiraEsitMi ? "eşit" : "eşit değil");
Console.WriteLine("SehirlerA dizisi ile SehirlerC dizisindeki elemanlar ve sıralaması {0}.", AveCSiraEsitMi ? "eşit" : "eşit değil");
Console.WriteLine("SehirlerB dizisi ile SehirlerC dizisindeki elemanlar ve sıralaması {0}.", BveCSiraEsitMi ? "eşit" : "eşit değil");
Örneğin çıktısı şöyle olacaktır :
SehirlerA dizisi ile SehirlerB dizisindeki elemanlar ve sıralaması eşit değil.
SehirlerA dizisi ile SehirlerC dizisindeki elemanlar ve sıralaması eşit.
SehirlerB dizisi ile SehirlerC dizisindeki elemanlar ve sıralaması eşit değil.
Kaynak:
https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b