C# 通过存储在数组中的值为属性赋值

C# 通过存储在数组中的值为属性赋值,c#,arrays,properties,C#,Arrays,Properties,我找不到我的答案,可能是因为我的代码写得不好,我可能会让它变得更难,但我的情况是这样的 我有一个类(orders.cs),它有一个十进制值数组(decimal[]difficultyArray)。 在这个类中,我有一个属性返回数组(公共数组困难数组)。 此类还具有字段的属性(private decimal productOblemy) 在我的GUI中,我有一个下拉菜单,其中列出了一些困难(简单、中等、困难)。当用户选择一个难度时,我调用一个方法来设置产品难度。我正试图通过数组/属性来实现这一点(

我找不到我的答案,可能是因为我的代码写得不好,我可能会让它变得更难,但我的情况是这样的

我有一个类(orders.cs),它有一个十进制值数组(
decimal[]difficultyArray
)。 在这个类中,我有一个属性返回数组(
公共数组困难数组
)。 此类还具有字段的属性(
private decimal productOblemy

在我的GUI中,我有一个下拉菜单,其中列出了一些困难(简单、中等、困难)。当用户选择一个难度时,我调用一个方法来设置
产品难度
。我正试图通过数组/属性来实现这一点(我知道代码被破坏了)

类似这样的工作原理:

newOrder.ProductDifficulty = 1.0M

数组中的索引0为1.0M。如何将元素0中的值分配给属性/字段?

数组
是一个抽象类,无法实例化。假设
productDemobility
是一个
decimal[]
,下面的操作应该可以

newOrder.ProductDifficulty = newOrder.DifficultyArray[0];
数组[0]

这将为您提供索引为0的项。假设索引0处的对象具有Value属性,则可以从中执行以下操作:

数组[0]。值=7

如果数组存储int,则数组[0]会获取int本身,并且可以从那里进行赋值


数组[0]=7

当我执行您正在执行的操作时,我遇到以下错误:无法将带[]的索引应用于system类型的表达式。array我知道您现在在说什么,但我认为如果我更改它,我会遇到更多的麻烦。我返回数组的属性被声明为公共数组产品困难数组的实际类型是什么?也就是说,它的初始化是什么样子的(
productDemobility=new???();
?)。十进制值数组是私有的,因此我访问十进制值数组的唯一方法是通过属性或方法。我正在使用一个属性,但我相信该属性可能是错误的类型。我把它作为数组类型,而不是十进制类型。属性应该是decimal类型吗?我个人会公开一个
decimal[]
而不是
Array
,但是
Array
确实有一个名为
GetValue(int-index)
的方法,您可以使用它,即
newOrder.productDecimal=(decimal)newOrder.DifficultyArray.GetValue(0)是元素/索引0有一个值,该值为1.0M(十进制)。我想将该类中的一个字段分配给该元素/索引的值。我很难弄清楚如何将数组特定索引处的值分配给字段/属性。你可以看到我在之前的评论中得到的错误
newOrder.ProductDifficulty = newOrder.DifficultyArray[0];