簡體   English   中英

如何在C#中為對象數組添加值

[英]How to add value to an array of object in C#

我正在使用第三方Web服務,我想增加價值以匹配服務引用類,而且我不確定如何為以下各項增加價值:

參考:

public partial class UserInfor: object, System.ComponentModel.INotifyPropertyChanged 
{
        private ABC[] listOfABCField;

        public ABC[] ListOfABC 
    {
            get {
                return this.listOfABCField;
            }
            set {
                this.listOfABCField = value;
                this.RaisePropertyChanged("ListOfABC");
            }
        }
}

public partial class ABC : object, System.ComponentModel.INotifyPropertyChanged 
{
    private string ipField;

private string fristNameField;

private string lastNameField;       

}

///////////////////////////////////////////////////// ////在我的service.asmx文件中,嘗試按如下所示放置值:在下面的代碼中,我在ABC [] abc = new ABC [0]行中遇到異常; 錯誤代碼:(NullReferenceException)

    UserInfor user = new UserInfor();
    ABC[] abc=new ABC[0];
        abc[0].firstName= "petter";
        abc[0].lastName = "lee";

        user.ListOfABC = abc[1];

我也在下面的代碼中嘗試過我在user.ListOfABC [0] = abc;行中異常。 錯誤代碼:(NullReferenceException)

    UserInfor user = new UserInfor();
    ABC abc=new ABC[0];
        abc.firstName= "petter";
        abc.lastName = "lee";

        user.ListOfABC[0] = abc;

任何想法如何將abc添加到用戶類? 先感謝您

如果使用List<>而不是數組,這可能會更容易。 更改屬性:

private List<ABC> listOfABCField;

public List<ABC> ListOfABC
{
    // etc.
}

不要忘記在類的構造函數中對其進行初始化,因此它不為null:

public UserInfor()
{
    listOfABCField = new List<ABC>();
}

然后,您可以向其添加一個對象,該對象不需要您嘗試使用的任何數組語法:

UserInfor user = new UserInfor();
ABC abc = new ABC();
abc.firstName= "petter";
abc.lastName = "lee";

user.ListOfABC.Add(abc);

您做錯了,首先實例化該數組,如果您事先知道它將包含多少個項目,然后在方括號中指定,例如:

ABC[] abc=new ABC[1]; // this array will contain 1 item maximum

現在實例化該項目,然后設置屬性值:

    abc[0] = new ABC(); // instantiating first item of array which is at 0th index
    abc[0].firstName= "petter";
    abc[0].lastName = "lee";

如果您不知道要輸入多少個項目,請遵循@David的使用List<T> 的建議

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM