LINQPAD -在从文件中读取行后使用Select时,如何设置参数值



我有以下一段代码,它从csv文件中以行为单位读取,并按逗号分隔符分割,并将我感兴趣的代码存储为Period和payment。但是,当我想修改值,即添加值时,我无法这样做,因为没有指定类型。

我得到以下错误:"属性或索引器'AnonymousType# 1pay '不能分配-它是只读的"

所以我的问题是在选择变量时如何指定变量的类型?Period是int类型(即6553),而payment是double类型(即2.922266175000004E7)

var values = File.ReadLines(path).Skip(1)
      .Select(x => x.Split(','))
      .Where(x => x[0] != string.Empty)
      .Select(x => new { Period = x[0], Payout = x[4] })
      .ToList();

匿名类型是只读的。

所以我不能这样做:

var x = new { y = 1, z = "Hello" };
x.z = "Goodbye";

但是,如果我有一个匿名变量列表,那么我可以这样做:

var values = File.ReadLines(path)
      .Skip(1)
      .Select(x => x.Split(','))
      .Where(x => x[0] != string.Empty)
      .Select(x => new { Period = x[0], Payout = x[4] })
      .ToList();
values[0] = new { Period = values[0].Period + 1, Payout = values[0].Payout * 2 };

相关内容

  • 没有找到相关文章

最新更新