2011-01-28 33 views
-2

我从文件中读取数据这样变化串入在C#VAR数据类型

using (StreamReader r = new StreamReader("newfile.txt")) 
{ 

      string lines1; 
      lines1 = r.ReadLine(); 
      var lines = lines1; 

      foreach (string line in lines) 
      { 
       var dictionary = new Dictionary<String, Int32>(); 
       var records = line.Split(','); 

我怎样才能字符串数据类型转换为VAR数据类型?

如果我用这条线

var lines = lines1; 

然后在

var records = line.Split(','); 
+0

如果不格式化,请至少标记您的问题。 – BoltClock 2011-01-28 18:26:11

回答

6

误差ACCUR没有这样的东西作为一个var数据类型。在C#中,“var”的意思是“让编译器根据上下文为我找出数据类型”。在这种情况下,使用:

var lines = lines1; 

或:

string lines = lines1; 

将产生完全相同的代码。该错误消息与var而不是string的使用无关。

这里的问题是这样的:

lines1 = r.ReadLine(); 
var lines = lines1; 

// ... 
foreach (string line in lines) 

你正在阅读一单行单串,然后尝试做的:“在我的单串的foreach串”。我怀疑你想要更类似的东西:

using (StreamReader r = new StreamReader("newfile.txt")) 
{ 
    while (r.Peek() >= 0) 
    { 
     string line = r.ReadLine(); 
     var dictionary = new Dictionary<String, Int32>(); 
     var records = line.Split(','); 
     // use records.... Note that above is the same as: 
     // string[] records = line.Split(','); 
    } 
} 
1

“split”函数返回一个数组。

+1

您的回复将作为评论更合适。 – 2011-01-28 18:40:30