我在字典中添加了一个文本文件但是它给出了错误NullReferenceException:对象引用未设置为对象的实例
original File
aa
aah
aahed
aahing
aahs
aal
aalii
aaliis
aals
代码:
import System.Collections.Generic;
import System.Linq;
var MytextAsset:TextAsset;
var myDictionary :Dictionary.<String,String>;
function Start () {
/* split the text file up by newline characters */
var textLines : String [] = MytextAsset.text.Split("/rn"[0]);
myDictionary.Add(textLines[0], textLines[0]);
}
错误在最后一行..
答案 0 :(得分:2)
虽然我不确定您是否真的在这里使用C#,但您很可能需要使用myDictionary
的新实例初始化Dictionary.<String,String>
。尝试像
var myDictionary :Dictionary.<String,String> = new Dictionary.<String, String>();
答案 1 :(得分:0)
你需要在使用它之前实例化你的字典,在你使用Add()之前在你的开始做这个,你应该一帆风顺。这是一个工作示例,我刚刚使用您的文件示例运行。我刚刚编辑过来还要添加循环,你需要将所有行添加到myDictionary
对象中:
import System.Collections.Generic;
import System.Linq;
var MytextAsset:TextAsset;
var myDictionary :Dictionary.<String,String>;
function Start () {
/* split the text file up by newline characters */
var textLines : String [] = MytextAsset.text.Split("\n"[0]);
myDictionary = new Dictionary.< String, String >() ;
for(index = 0 ; index < textLines.length ; ++index){
myDictionary.Add(textLines[index],textLines[index]);
}
for(index = 0 ; index < myDictionary.Count; ++index){
Debug.Log(myDictionary.Item[textLines[index]]);
}
}