Sử dụng Dictionary trong Unity3D

January 6, 2016
Categories:
Tags:

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

Lời kết:

Có nhiều cách lưu trữ dữ liệu trong Unity3D như  SQLite, List, Array, PlayerPrefs, Dictionary. Tùy mục đích sử dụng mà ta chọn kiểu lưu trữ phù hợp. Hy vọng bài viết này đã cung cấp cho bạn thêm một cách lưu trữ dữ liệu!
Author: Khoa Nguyen
https://niviki.com
Thất nghiệp. Đang rủ rê nhiều người thất nghiệp. Nhận làm ứng dụng MVP để nhiều người bỏ việc. Hy vọng với NIVIKI.COM có thể lan toả tinh thần thất nghiệp đến với nhiều người hơn nữa.