我正在从这样的文件中读取数据
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)
没有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)