Sử dụng Dictionary trong Unity3D
Chào mọi người, bài viết hôm nay mình xin giới thiệu đến mọi người một kiểu lưu trữ dữ liệu trong C# cũng như trong Unity3D là Dictionary.
Dictionary trong Unity3D
'Cái tên nói lên tính cách' rồi phải không nào, Dictionary là từ điển nên sẽ có phần Key và phần Value. Cùng xem qua một vài ví dụ để hiểu thêm nhé:
Trước tiên, giống như sử dụng list, chúng ta cần phải khai báo thư viện trước:
using System.Collections;
using System.Collections.Generic;
Chúng ta khai báo sử dụng Dictionary như sau:
Như bạn thấy, Dictionary cũng giống như List có thể lưu trữ được nhiều kiểu dữ liệu như int, string, class, enum,vv, điều khác biệt là nó chỉ có 2 thuộc tính là Key và Value. Bạn phải nhớ khi thêm dữ liệu thì thuộc tính Key phải là duy nhất (Giống như primary key trong SQL)
Dictionary cũng hỗ trợ nhiều hàm như count, remove, add, clear, ContainsKey (kiểm tra xem key có tồn tại trong một dictionary nào đó không). Bạn có thể tham khảo thêm ở trang hướng dẫn của Microsoft tại địa chỉ: https://msdn.microsoft.com/en-us/library/xfhwa508.aspx
Để chạy vòng lặp tất cả các phần tử của một Dictionary, ta dùng cú pháp như bên hình dưới:
Như bạn thấy, ta dùng từ khóa KeyValuePair<,>
để làm đại diện cho một phần tử trong dictionary, mỗi phần tử sẽ có phần .Key và .Value để ta truy cập dữ liệu.
Để truy cập vào một phần tử nhất định, ta dùng ContainsValue hoặc ContainsKey:
if (buttonState.ContainsKey(key))
{} // Tìm phần tử có key nhất định