SORU
13 AĞUSTOS 2009, PERŞEMBE


C# Java HashMap eşdeğer

# Tek bir C Java bir dünyadan gelen var HashMap bir eş midir? Ne önerirsiniz?

CEVAP
13 AĞUSTOS 2009, PERŞEMBE


Dictionary muhtemelen en yakın yer. System.Collections.Generic.Dictionary System.Collections.Generic.IDictionary arayüz Map arayüzü Java için benzer) uygular.

Bilmeniz gereken bazı önemli farklılıklar:

  • Ekleme/Alma öğeleri
    • Java HashMap/öğeleri alma ayarı put get yöntemleri vardır
      • myMap.put(key, value)
      • MyObject value = myMap.get(key)
    • C#'ın Sözlük/öğeleri alma ayarı için Item özelliği kullanır
      • myDictionary.Item[key] = value
      • MyObject value = myDictionary.Item[key]
  • 11 tuşları **
    • Java HashMap null anahtarları sağlar
    • .NET Dictionary eğer boş bir anahtar eklemek için çalışırsanız ArgumentNullException bir atar
  • Ekleme yinelenen bir anahtar
    • Java HashMap yeni değerini değiştirir.
    • .NET Dictionary Item özelliğini kullanırsanız yeni bir varolan değerin yerini alır. Eğer Add yöntemi kullanırsanız, ArgumentException bir atın yerine.
  • Varolmayan bir anahtar elde etmek için çalışıyor
    • HashMap Java null döndürecektir.
    • .NET Dictionary KeyNotFoundException bir durum oluşturur. Bunu önlemek için Item özelliği yerine TryGetValue yöntemi kullanabilirsiniz:
      MyObject value = null; if (!myDictionary.TryGetValue(key, value)) { /* key doesn't exist */ }

Dictionary'In önceki iki sorun ile baş yardımcı olabilir ContainsKey bir yöntemi vardır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Charles Renaud

    Charles Rena

    10 Kasım 2007
  • DorkmanScott

    DorkmanScott

    14 NİSAN 2006
  • UKF Dubstep

    UKF Dubstep

    29 NİSAN 2009