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

  • DancingIsAPassion

    DancingIsAPa

    29 AĞUSTOS 2009
  • snookie77

    snookie77

    2 Mart 2006
  • WiseOwlTutorials

    WiseOwlTutor

    21 EKİM 2011