Lucrul cu Hashtables în Unity
Un hashtable este o colecție de perechi cheie-valoare care vă permite să stocați și să preluați datele în mod eficient. Fiecare cheie dintr-un Hashtable trebuie să fie unică și este folosită pentru a accesa valoarea corespunzătoare. În Unity, Hashtables fac parte din spațiul de nume System.Collections
și pot fi deosebit de utile pentru stocarea structurilor de date negenerice.
Crearea unui Hashtable
Pentru a utiliza un Hashtable în Unity, mai întâi trebuie să importați spațiul de nume System.Collections
și apoi să inițializați un nou obiect Hashtable. Iată un exemplu:
using System.Collections;
using UnityEngine;
public class HashtableExample : MonoBehaviour
{
void Start()
{
Hashtable myHashtable = new Hashtable();
// Adding key-value pairs
myHashtable.Add("PlayerName", "Alex");
myHashtable.Add("Score", 1500);
myHashtable.Add("Level", 5);
// Accessing values
Debug.Log("Player Name: " + myHashtable["PlayerName"]);
Debug.Log("Score: " + myHashtable["Score"]);
Debug.Log("Level: " + myHashtable["Level"]);
}
}
Adăugarea și accesarea datelor
Puteți adăuga date la o tabelă Hash folosind metoda Add
. Pentru a prelua o valoare, utilizați cheia dintre paranteze pătrate:
myHashtable.Add("Health", 100);
int health = (int)myHashtable["Health"];
Debug.Log("Health: " + health);
Dacă o cheie există deja, încercarea de a utiliza Add
va genera o excepție. În schimb, utilizați direct cheia pentru a actualiza valoarea:
myHashtable["Health"] = 80; // Updates the value associated with the key
Verificarea cheilor și a valorilor
Pentru a verifica dacă o cheie există în Hashtable, utilizați metoda ContainsKey
. În mod similar, utilizați ContainsValue
pentru a verifica o valoare:
if (myHashtable.ContainsKey("Score"))
{
Debug.Log("Score exists: " + myHashtable["Score"]);
}
if (myHashtable.ContainsValue(1500))
{
Debug.Log("Value 1500 is in the Hashtable.");
}
Eliminarea datelor
Puteți elimina o intrare din Hashtable folosind metoda Remove
:
myHashtable.Remove("Level");
Debug.Log("Level removed.");
Iterarea printr-un hashtable
Pentru a itera prin toate perechile cheie-valoare dintr-un tabel Hash, utilizați o buclă foreach
:
foreach (DictionaryEntry entry in myHashtable)
{
Debug.Log("Key: " + entry.Key + ", Value: " + entry.Value);
}
Limitările Hashtablelor
Hashtables nu sunt generice și nu sunt sigure de tip. Dacă aveți nevoie de siguranță și performanță de tip mai bună, luați în considerare utilizarea genericului Dictionary
din spațiul de nume System.Collections.Generic
. Hashtables sunt utile în principal atunci când lucrați cu colecții non-generice sau interfațați cu baze de cod mai vechi.
Concluzie
Tabelele hash din Unity oferă o modalitate simplă de a gestiona perechile cheie-valoare în proiectele dvs. Deși nu sunt cel mai modern tip de colecție, ele rămân o alegere validă pentru multe scenarii. Înțelegând cum să creați, să accesați și să manipulați Hashtables, puteți gestiona eficient datele în aplicațiile dvs. Unity.