C# ToDictionary Kullanımı

"ToDictionary" metodu C#'da IEnumerable arabirimini (interface) uygulayan herhangi bir nesnenin üzerinde çağrılabilecek bir genişletme metodudur ve o eleman dizisini bir sözlüğe dönüştürür. Anahtar (key) ve değer (value) olarak iki lambda ifadesi alır ve bu anahtar-değer ikilisini sözlüğe (Dictionary) ekler.

Aşağıda "ToDictionary" metodunun kullanımı için 3 örnek verilmiştir.

1 - Bir sayı listesini "Dictionary" olarak dönüştürmek: Aşağıdaki kod parçacığı bir sayı listesini "Dictionary" 'ye dönüştürür, anahtar sayıdır ve değer sayının karesidir:

List numbers = new List { 1, 2, 3, 4, 5 };
var squares = numbers.ToDictionary(n => n, n => n * n);

2 - Bir string dizisini "Dictionary" olarak dönüştürmek: Aşağıdaki kod parçacığı bir string dizisini "Dictionary" 'ye dönüştürür, anahtar stringdir ve değer string uzunluğudur:

string[] words = { "elma", "portakal", "muz" };
var wordLengths = words.ToDictionary(w => w, w => w.Length);

3 - Özel nesnelerin bir listesini "Dictionary" olarak dönüştürmek: Aşağıdaki kod parçacığı özel nesnelerin bir listesini "Dictionary" 'ye dönüştürür, anahtar nesnenin kimliğidir ve değer nesnedir:

class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
}
List people = new List
{
    new Person { Id = 1, Name = "Ali", Age = 22 },
    new Person { Id = 2, Name = "Osman", Age = 25 },
    new Person { Id = 3, Name = "Elif", Age = 30 }
};
var peopleDictionary = people.ToDictionary(p => p.Id, p => p);

Sözlükteki anahtarların benzersiz olması gerektiğini unutmayın, aksi takdirde yeni bir sözlük oluşturulurken "Aynı anahtar ile eklenmiş bir öğe var" mesajını içeren ArgumentException tipinde bir hata oluşur.


C#

İlginizi Çekebilir

C# Uzantıya Göre Dosya Arama

C# 1'den 100'e Kadar Asal Sayı Toplam Örneği

C# Diziyi Ters Çevirme

C# Bir Stringten İlk N Karakteri Kaldırma Örneği

C# Tarihe Saniye Ekleme veya Çıkarma