SORU
23 Temmuz 2010, Cuma


Sözlük listesi etmeniz kullanarak ve çoğaltır endişesi değil dönüştürmek

Kişi nesneleri bir listesi var. Anahtar adı ve soyadı () birleştirilmiş olduğu bir Sözlük dönüştürmek istiyorum ve değerdir Kişi nesne.

Sorun bu ise bu kodu kullanırsam darbeler kadar çok insan çoğaltılamaz, var:

private Dictionary<string, Person> _people = new Dictionary<string, Person>();

_people = personList.ToDictionary(
    e => e.FirstandLastName,
    StringComparer.OrdinalIgnoreCase);

Kulağa garip geliyor biliyorum ama gerçekten şimdilik çiftleri isimler umurumda değil. Eğer birden fazla isim varsa ben orada sadece bir tane al. Sadece adlarını alır ve çoğaltır üzerinde patlamaz yani bu kod yukarıda yazabilirim zaten var mı?

CEVAP
23 Temmuz 2010, Cuma


var _people = personList
    .GroupBy(p => p.FirstandLastName, StringComparer.OrdinalIgnoreCase)
    .ToDictionary(g => g.Key, g => g.First(), StringComparer.OrdinalIgnoreCase);

Eğer olmayan SERİ bir çözüm o zaman isterseniz şöyle bir şey yapabilirsin:

var _people = new Dictionary<string, Person>(StringComparer.OrdinalIgnoreCase);
foreach (var p in personList)
{
    _people[p.FirstandLastName] = p;
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Air_Fooj

    Air_Fooj

    24 NİSAN 2009
  • Paul Schroder

    Paul Schrode

    30 Kasım 2007
  • Rooster Teeth

    Rooster Teet

    11 Temmuz 2006