SORU
10 EYLÜL 2009, PERŞEMBE


Arama<TKey, TElement>?ne anlamı var

MSDN böyle Arama açıklıyor:

Lookup<TKey, TElement> benzer bir Dictionary<TKey, TValue>. Fark bu. Sözlük<TKey, TValue>haritalar anahtarları tek değerleri için ise bir Arama<TKey, TElement>değerleri koleksiyonları için haritalar anahtarları.

Bu açıklama özellikle yararlı bulmuyorum. Arama için kullanılan nedir?

CEVAP
10 EYLÜL 2009, PERŞEMBE


IGrouping ve sözlük arası bir şey. Sağlar, grup öğeleri ile birlikte bir anahtar, ama o zaman onlara erişim yoluyla bu anahtar etkin bir şekilde yerine üzerinden yineleme hepsini, ne GroupBy sağlar).

Örneğin, bir yük alabilir .NET türleri ve ad ile arama yapı... daha sonra belirli bir ad çok kolay: tüm türleri

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

public class Test
{
    static void Main()
    {
        // Just types covering some different assemblies
        Type[] sampleTypes = new[] { typeof(List<>), typeof(string), 
                                     typeof(Enumerable), typeof(XmlReader) };

        // All the types in those assemblies
        IEnumerable<Type> allTypes = sampleTypes.Select(t => t.Assembly)
                                               .SelectMany(a => a.GetTypes());

        // Grouped by namespace, but indexable
        ILookup<string, Type> lookup = allTypes.ToLookup(t => t.Namespace);

        foreach (Type type in lookup["System"])
        {
            Console.WriteLine("{0}: {1}", 
                              type.FullName, type.Assembly.GetName().Name);
        }
    }
}

(Normalde normal kodunda bu tanımlamalar çoğu için var kullanmak istiyorum.)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Brandon McCrary

    Brandon McCr

    15 Ocak 2012
  • FPSRussia

    FPSRussia

    19 NİSAN 2010
  • Pepsi

    Pepsi

    1 Kasım 2005