C# 为列表中的元素设置值时,赋值的左侧必须是变量
我想在动态列表中的特定位置设置元素的值。它返回我这个错误。这是什么原因造成的?我该如何解决C# 为列表中的元素设置值时,赋值的左侧必须是变量,c#,dynamic,C#,Dynamic,我想在动态列表中的特定位置设置元素的值。它返回我这个错误。这是什么原因造成的?我该如何解决 public class DienTieuThuRowModel { public List<dynamic> RowItem { get; set; } } DienTieuThuRowModel result = new DienTieuThuRowModel(); result.RowItem = new List<dynamic>(new dynamic[10])
public class DienTieuThuRowModel
{
public List<dynamic> RowItem { get; set; }
}
DienTieuThuRowModel result = new DienTieuThuRowModel();
result.RowItem = new List<dynamic>(new dynamic[10]);
float variable = 12;
result.RowItem.ElementAt(1) = giatri;
公共类dientieurowModel
{
公共列表行项目{get;set;}
}
DienTieuThuRowModel结果=新的DienTieuThuRowModel();
result.RowItem=新列表(新动态[10]);
浮动变量=12;
结果.RowItem.ElementAt(1)=giatri;
使用@Llama suggestion,我建议您将其转换为dynamic
result.RowItem[1] = (dynamic) giatri;
.ElementAt(1)
是一个LINQ方法,它通过列表迭代到第n项并返回它(即使您可以重新分配结果,它也不会更改列表)。由于您有一个列表,您只需要result.RowItem[1]=giatri代码>。它返回给我的另一个错误是“需要标识符”。是因为动态类型吗?我以为动态数据类型应该处理所有类型的数据,然后在以后运行时返回错误。我想这是因为giatri
没有在任何地方定义?如果我将giatri
更改为variable
(),它可以正常工作。哦,对不起,我的不好。我忘记了“点”,因此代码类似于result.RowItem。[1]=giatri;现在修好了。。您不需要对声明为dynamic
的变量强制转换任何赋值,因为dynamic
可以接受任何值。噢,谢谢您的更正