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

  • kalabrandmusic

    kalabrandmus

    25 Kasım 2009
  • MarinaHD2001

    MarinaHD2001

    7 ŞUBAT 2009
  • modica89

    modica89

    24 HAZİRAN 2007