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

  • campos9896

    campos9896

    24 Mart 2012
  • Jeb Corliss

    Jeb Corliss

    17 Kasım 2006
  • LevelUpTuts

    LevelUpTuts

    20 Ocak 2012