我正在尝试从.txt文件中填充一个hashtable whit字符串[]数组, 我从一个目录中读取了.txt,但是不能用foreach填充哈希表 我得到一个错误=语法错误;价值预期 希望你能引导我一点。 First Lenguage。
static Hashtable GetHashtable()
{
// Create and return new Hashtable.
Hashtable ht_rut = new Hashtable();
//Create a string from all the text
string rutcompleto = System.IO.File.ReadAllText(@"C:\datos rut.txt");
//create an array from the string split by ,
String[] rutArr = rutcompleto.Split(',');
//create a int key for the hashtable
int key = 1;
foreach (var item in rutArr)
{
ht_rut.Add(key,rutArr[]);
key = key + 1;
}
return ht_rut;
}
}
答案 0 :(得分:1)
替换
ht_rut.Add(key,rutArr[]);
带
ht_rut.Add(key,item);
因为您要添加项而不是整个数组
你也可以用linq来解决这个问题:
static Hashtable GetHashtable()
{
string[] rutcompleto = System.IO.File.ReadAllText(@"C:\datos rut.txt").Split(',');
return new Hashtable(Enumerable.Range(1, rutcompleto.Count()).ToDictionary(x => x, x => rutcompleto[x-1]));
}
答案 1 :(得分:0)
rutArr[]
不是有效的C#语法,您需要在foreach rutArr[index]
中使用item
或迭代变量:
foreach (var item in rutArr)
{
ht_rut.Add(key, item);
key = key + 1;
}