String []数组到哈希表,从字符串[] C#中添加键和值

时间:2016-07-08 05:59:24

标签: c# arraylist hashtable

我正在尝试从.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;
    }
 }

2 个答案:

答案 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;
}