我正在从这样的文件中读取数据
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 :(得分:6)
没有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 :(得分:1)
“split”函数返回一个数组。