我有以下一段代码,它从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 };