Seçin bir Sözlük&SERİ ile;T1, T2> lt; | Netgez.com
SORU
6 Mart 2009, Cuma


Seçin bir Sözlük&SERİ ile;T1, T2> lt;

"Ve SERİ, ama Dictionary<T1, T2> jenerik dönmek için bir ihtiyaç var ve bunu anlayamıyorum. IEnumerable<T> iade için anahtar uzatma yöntemi seçin kullandım Bu öğrendiğim örnek bir form aşağıdaki gibi bir şey:

IEnumerable<T> coll = from x in y 
    select new SomeClass{ prop1 = value1, prop2 = value2 };

Ayrıca uzatma yöntemleri ile de aynı şeyi yaptım. Sanıyorum bu yana öğeler Dictionary<T1, T2> olabilir yineledi KeyValuePair<T1, T2> ben sadece yerine "SomeClass" yukarıdaki örnekte "new KeyValuePair<T1, T2> { ...", ama işe yaramadı (Anahtar ve Değer olduğunu salt okunur olarak işaretlenmiş, yani ben yapamadım bu kod derleme).

Bu mümkündür, ya da birden fazla adım yapmama gerek var mı?

Teşekkürler.

CEVAP
6 Mart 2009, Cuma


Uzantıları yöntemleri de ToDictionary bir uzantısı sağlar. Kullanımı oldukça basit, genel kullanım için anahtar lambda seçici geçen ve değeri olarak nesne oluyor, ama her iki anahtar ve değer için lambda seçici iletebilirsiniz.

class SomeObject
{
    public int ID { get; set; }
    public string Name { get; set; }
}

SomeObject[] objects = new SomeObject[]
{
    new SomeObject { ID = 1, Name = "Hello" },
    new SomeObject { ID = 2, Name = "World" }
};

Dictionary<int, string> objectDictionary = objects.ToDictionary(o => o.ID, o => o.Name);

Sonra objectDictionary[1] değer içerir "" Merhaba

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AginoEvolutionHD

    AginoEvoluti

    27 AÄžUSTOS 2011
  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013
  • How to Cook ?

    How to Cook

    31 Ocak 2007