如何在c#中设置默认数组值

时间:2015-01-13 20:54:50

标签: c# arrays

我有一个包含一些值和数组的类,我需要此数组中的元素具有默认值。

喜欢

class Object
{
    public string OName { get; set;}
    public string OType { get; set; }
    public string Data { get; set; }

    Object[] RelationList = new Object[5];
    RelationList[0] = blabla;
    RelationList[1] = blabla;
    ......
}

我需要将RelationList设置为某些默认值。任何人都知道怎么做?感谢。

5 个答案:

答案 0 :(得分:4)

设置这些默认值是构造函数的作用:

class SomeKindOfObject
{
    public string OName { get; set; }
    public string OType { get; set; }
    public string Data { get; set; }

    Object[] RelationList = new Object[5];

    // Constructor
    public SomeKindOfObject()
    {
        RelationList[0] = blabla;
    }
}

或者,如果你已经有了对象,你也可以使用一个数组初始化器:

Object[] RelationList = new Object[] { blahblah, blahblah, blahblah, ect };

答案 1 :(得分:0)

你必须遍历它们。

E.g。

class Foo
{
    private readonly object[] _relationList = new object[5];

    public Foo(object defaultValue)
    {
        for (var i = 0; i < _relationList.Length; ++i) {
            _relationList[i] = defaultValue;
        }
    }
}

答案 2 :(得分:0)

在构造函数中初始化属性:

class Class1
{
    public string OName { get; set;}
    public string OType { get; set; }
    public string Data { get; set; }
    public object RelationList { get; set; }

    public Class1()
    {
      // initialize your properties here
      RelationList = new object[5];
      RelationList[0] = blabla;
      RelationList[1] = blabla;
    }
}

答案 3 :(得分:0)

设置默认值可以在对象的构造函数中完成

class MyObject
{
   public string OName { get; set; }
   public string OType { get; set; }
   public string Data { get; set; }
   public Object[] RelationList = new Object[5];

   public MyObject()
   {
      RelationList[0] = 1;
      RelationList[1] = 2;
   }
}

根据具体情况,还有其他设置这些默认值的机制(例如,在构造函数中创建一个新数组而不是在声明中,在构造函数中传递它们等)。

答案 4 :(得分:0)

您可以使用对象初始化程序

Object[] RelationList = new[] { 
     new Object { OName = "abc", OType = "xyz", Data = "tetst" }, 
     new Object { OName = "abc", OType = "xyz", Data = "tetst" },
     new Object { OName = "abc", OType = "xyz", Data = "tetst" },
     new Object { OName = "abc", OType = "xyz", Data = "tetst" }
 };