2 min read

Sử dụng Dictionary trong Unity3D

Bài viết giới thiệu cách sử dụng cấu trúc dữ liệu Dictionary trong Unity3D và C#. Tác giả hướng dẫn cách khai báo, thêm dữ liệu, truy cập phần tử, kiểm tra sự tồn tại của key, và duyệt qua tất cả các phần tử trong Dictionary. Bài viết cung cấp các ví dụ code cụ thể và giải thích về đặc điểm quan trọng của Dictionary như việc key phải là duy nhất, tương tự primary key trong SQL.

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

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!

Related Posts

Discover more content you might enjoy