C# Programming

C# Listelerini Etkin Bir Şekilde Birleştirmenin Yolları

Spread the love

Listeleri birleştirmek C# programlamanın temel bir işlemidir. Bu makale, her birinin kendi avantajları ve kullanım durumlarıyla listeleri birleştirmek için çeşitli etkili teknikleri ele almaktadır. Yinelenenleri kaldırma veya öğeleri eşleştirme gibi daha karmaşık işlemlere kadar basit birleştirmeden farklı yaklaşımları inceleyeceğiz.

İçindekiler

  1. AddRange() ile Listeleri Birleştirme
  2. Concat() (LINQ) kullanarak Listeleri Birleştirme
  3. foreach Döngüsü ile Manuel Liste Birleştirme
  4. Union() (LINQ) ile Listeleri Birleştirme ve Yinelenenleri Kaldırma
  5. InsertRange() ile Bir Listeyi Başka Bir Listeye Ekleme
  6. Zip() Metodu ile Öğeleri Eşleştirme
  7. Sonuç

AddRange() ile Listeleri Birleştirme

AddRange() metodu, bir listeyi diğerinin sonuna eklemek için doğrudan ve verimli bir yol sunar. Bu metot orijinal listeyi değiştirir.


using System;
using System.Collections.Generic;

public class JoinLists
{
    public static void Main(string[] args)
    {
        List<int> list1 = new List<int> { 1, 2, 3 };
        List<int> list2 = new List<int> { 4, 5, 6 };

        list1.AddRange(list2);

        Console.WriteLine("Birleştirilmiş Liste:");
        Console.WriteLine(string.Join(" ", list1)); // Çıktı: 1 2 3 4 5 6
    }
}

Concat() (LINQ) kullanarak Listeleri Birleştirme

LINQ’un Concat() metodu, liste birleştirme için salt okunur bir yaklaşım sağlar. Orijinallerini değiştirmeden her iki giriş listesinden gelen tüm öğeleri içeren yeni bir liste oluşturur.


using System;
using System.Collections.Generic;
using System.Linq;

public class JoinLists
{
    public static void Main(string[] args)
    {
        List<int> list1 = new List<int> { 1, 2, 3 };
        List<int> list2 = new List<int> { 4, 5, 6 };

        var joinedList = list1.Concat(list2).ToList();

        Console.WriteLine("Birleştirilmiş Liste:");
        Console.WriteLine(string.Join(" ", joinedList)); // Çıktı: 1 2 3 4 5 6
    }
}

foreach Döngüsü ile Manuel Liste Birleştirme

foreach döngüsü kullanan manuel bir yaklaşım, özellikle daha karmaşık birleştirme mantığıyla uğraşırken maksimum kontrol sağlar.


using System;
using System.Collections.Generic;

public class JoinLists
{
    public static void Main(string[] args)
    {
        List<int> list1 = new List<int> { 1, 2, 3 };
        List<int> list2 = new List<int> { 4, 5, 6 };
        List<int> joinedList = new List<int>();

        joinedList.AddRange(list1);
        foreach (int num in list2)
        {
            joinedList.Add(num);
        }

        Console.WriteLine("Birleştirilmiş Liste:");
        Console.WriteLine(string.Join(" ", joinedList)); // Çıktı: 1 2 3 4 5 6

    }
}

Union() (LINQ) ile Listeleri Birleştirme ve Yinelenenleri Kaldırma

Union() metodu, yinelenen girişleri ortadan kaldırarak iki listeyi verimli bir şekilde birleştirir.


using System;
using System.Collections.Generic;
using System.Linq;

public class JoinLists
{
    public static void Main(string[] args)
    {
        List<int> list1 = new List<int> { 1, 2, 3 };
        List<int> list2 = new List<int> { 3, 4, 5 };

        var joinedList = list1.Union(list2).ToList();

        Console.WriteLine("Birleştirilmiş Liste (yinelenenler kaldırıldı):");
        Console.WriteLine(string.Join(" ", joinedList)); // Çıktı: 1 2 3 4 5
    }
}

InsertRange() ile Bir Listeyi Başka Bir Listeye Ekleme

InsertRange(), belirtilen bir indekste bir listenin diğerine hassas bir şekilde eklenmesini sağlar.


using System;
using System.Collections.Generic;

public class JoinLists
{
    public static void Main(string[] args)
    {
        List<int> list1 = new List<int> { 1, 2, 3 };
        List<int> list2 = new List<int> { 4, 5, 6 };

        list1.InsertRange(2, list2); // 2. indeksten başlayarak list2'yi ekler

        Console.WriteLine("Birleştirilmiş Liste:");
        Console.WriteLine(string.Join(" ", list1)); // Çıktı: 1 2 4 5 6 3
    }
}

Zip() Metodu ile Öğeleri Eşleştirme

Zip() metodu, indekslerine göre iki listeden karşılık gelen öğeleri eşleştirir. Bu, ilişkisel bir yazışması olan öğeleri birleştirmeniz gerektiğinde yararlıdır.


using System;
using System.Collections.Generic;
using System.Linq;

public class JoinLists
{
    public static void Main(string[] args)
    {
        List<string> list1 = new List<string> { "A", "B", "C" };
        List<int> list2 = new List<int> { 1, 2, 3 };

        var zippedList = list1.Zip(list2, (str, num) => str + num).ToList();

        Console.WriteLine("Eşleştirilmiş Liste:");
        Console.WriteLine(string.Join(" ", zippedList)); // Çıktı: A1 B2 C3
    }
}

Sonuç

C#, liste manipülasyonu için zengin bir araç seti sunar. Metot seçimi, görevinizin özel gereksinimlerine büyük ölçüde bağlıdır. Orijinal listeleri değiştirmeniz, yinelenenleri kaldırmanız veya karşılık gelen öğeleri eşleştirmeniz gerekip gerekmediğini, en uygun yaklaşımı seçerken göz önünde bulundurun.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir