最近學了一點Unity,用C#寫代碼,其實之前也寫過一點windows原生,但主要使用Datastore和文件操做,早就忘了。windows
在Java裏遇到鍵值對的時候,通常順手就會建立一個Map,並且Map是個接口,實例一般是一個HashMap,相似下面這樣:數組
private Map<String, String> userMap = new HashMap <String, String>();
到了C#裏,對應Map的結構叫Dictionary,一般實例也是這個類型,相似這樣:code
private Dictionary<string,string> userDict =new Dictionary<string, string>();
(注意:Java 裏字符串是個對象,而C#裏字符串是個基本類型,因此是不能等於null的,一般使用string.IsNullOrEmpty()方法,判斷字符串是否爲空)對象
具體使用上,Java里根據key獲取value,是使用get方法,若是沒取到,返回null:索引
String value = userMap.get("xxx"); if (value=null){ return; } //Do something with value
但C#不行,它是用索引符號(相似數組)來獲取值的,一旦key不存在,就會拋出異常,因此,必須先檢查key,以下:接口
if (!userDict.ContainsKey("xxx") { return; } string value = userDict["xxx"]; //Do something with value