如何在C#模型类中设置数组属性的值

时间:2018-11-05 21:28:32

标签: c# c#-2.0

我有一个模型类(将Json转换为C#类),其中有一个数组及其属性。

现在的问题是我需要为此数组atrributes设置值fieldIdfieldValue,这些值存在于名为optionalFields的数组中。

仅举一个例子,我已经编写了一个构造函数,可以在其中初始化变量,这是直接的尝试,但是我尝试了几种方法来设置数组属性的值,但实际上是在浪费时间。

以下是Json:

{
  "entityId": "1234",
  "inventoryId": "4567",
  "saleAccount": "SAA",
  "saleGroup": "SLL",
  "inventoryAccount": "IA1000",
  "workInProcess": 0,
  "isGlApplied": false,
  "optionalFields": [
    {
      "fieldId": "29",
      "fieldValue": "290"
    }
  ],

}

以下是上述json的模型类:

public class Acct_Det_Widget_Post_Insert_Json
{
    public string entityId { get; set; }
    public string inventoryId { get; set; }
    public string saleAccount { get; set; }
    public string saleGroup { get; set; }
    public string inventoryAccount { get; set; }
    public int workInProcess { get; set; }
    public bool isGlApplied { get; set; }
    public Optionalfield[] optionalFields { get; set; }

    public string vehicleId { get; set; }

    public Acct_Det_Widget_Post_Insert_Json()
    {
        this.entityId = "1234";
        this.inventoryId = "34521";
        this.saleAccount = "SAA";
        this.saleGroup = "SLL";
        this.inventoryAccount = "IA1000";
        this.workInProcess = 0;
        this.isGlApplied = false;             
    }

}

public class Optionalfield
{
    public string fieldid { get; set; }
    public string fieldvalue { get; set; }    

}

我可以设置其他字段的值,但无法为此OptionalField数组属性设置值。

请尽早帮助我解决问题。

1 个答案:

答案 0 :(得分:1)

为了设置数组的值,首先必须对其进行初始化。

public Optionalfield[] optionalFields { get; set; } = new Optionalfield[1];

如果要添加多个值,只需将1更改为所需的值即可。

接下来,在构造函数中,您可以按以下方式分配值:

optionalFields[0] = new Optionalfield();
optionalFields[0].fieldid = "29";
optionalFields[0].fieldvalue = "290";

请注意,您必须创建类的实例并将其分配给数组的有效索引。在这种情况下,将使用1个元素初始化该数组,然后将实例分配给第一个(0)元素。