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

  • MC JIN'S OLD YouTube CHANNEL

    MC JIN'S OLD

    2 Kasım 2008
  • Digital Bounds

    Digital Boun

    19 Temmuz 2013
  • How Things Are Made

    How Things A

    17 HAZİRAN 2008