在c#中将字符串更改为var数据类型

The*_*ler -2 c#

我正在从这样的文件中读取数据

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(',');
Run Code Online (Sandbox Code Playgroud)

如何将字符串数据类型转换为var数据类型?

如果我用这条线

   var lines = lines1;
Run Code Online (Sandbox Code Playgroud)

那么错误就会发生

 var records = line.Split(',');
Run Code Online (Sandbox Code Playgroud)

Ree*_*sey 6

没有var数据类型这样的东西.在C#中,"var"只意味着"让编译器根据上下文为我计算出数据类型".在这种情况下,使用:

var lines = lines1;
Run Code Online (Sandbox Code Playgroud)

要么:

string lines = lines1;
Run Code Online (Sandbox Code Playgroud)

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

这里的问题是:

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

// ...
foreach (string line in lines)
Run Code Online (Sandbox Code Playgroud)

你正在读一行作为单个字符串,然后尝试:"在我的单个字符串中使用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(',');
    }
}
Run Code Online (Sandbox Code Playgroud)