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#'da Stringin Karakter Sayısını Bulmak

C# Private Set Kullanımı

C# Stringi Byte Dizisine Çevirmek

C# Yarıçap Girilen Bir Dairenin Çevre ve Alanını Bulma Örneği

C# Bir Dizideki Tek Sayıların Adetini Bulma Örneği