在对象中创建数组

时间:2012-03-07 16:17:05

标签: c# arrays object

我想要做的是创建一个对象,然后使用set和get,并将它放在对象中的数组中。这可能吗?所以从我下面的例子中我得到了条形码的集合和获取,但后来我想将名称和locaion存储在稍后要访问的对象中的数组中。这可能吗?

public class barlist
{
    private string barName;
    private string barLocation;

    public string Name
    {
        get { return barName; }
        set { barName = value; }
    }

    public string Location
    {
        get { return barLocation; }
        set { barLocation = value; }
    }
}  

4 个答案:

答案 0 :(得分:0)

可能是 - 合理的否。
数组应该是类的静态属性,也可以是单独的类 您希望只有一个数组,否则删除一个条形将意味着修改条形的所有实例。

答案 1 :(得分:0)

根据评论,你想要的确是令人困惑的。我认为你想要的是能够作为任何一个Bar的成员引用Bars列表。这很简单;你想要的是一个静态成员:

public class barlist
{
    ...

    public static List<barlist> listOfBars;
}  

然后,您可以创建栏并将其添加到列表中:

var bar = new barlist();
barlist.listOfBars.Add(bar);

您可以通过实施IList接口使您的“barlist”类看起来集合而不是 集合接口,该接口强制执行要添加的方法列表中的,删除和访问栏。您可以简单地将这些调用“传递”到私有列表中,如果您希望任何对象具有相同的列表,请将该列表设置为静态。

答案 2 :(得分:0)

我不太确定你想要完成什么,但是你可以定义一个对象数组,这可以通过强类型为你的类或只使用对象。你可以使用这三种结构

  1. ArrayList&lt; - 此句柄不同类型的对象
  2. List<barlist>&lt; ----此句柄仅处理来自班级barlist
  3. 的对象
  4. barList[] blah = new barList[10] ;&lt; ---定义一个包含类barList
  5. 的10项数组

答案 3 :(得分:0)

您可以在类中使用静态列表,并将每个对象添加到构造函数

中的列表中

例如(在你的代码上)

public class barlist
{
    private string barName;
    private string barLocation;
    public static List<barlist> myBarArray = new List<barlist>();
    public string Name
    {
        get { return barName; }
        set { barName = value; }
    }
    public barlist()
    {
      myBarArray.Add(this);
    }
    public string Location
    {
        get { return barLocation; }
        set { barLocation = value; }
    }
}  

现在,每次创建一个barlist对象时,该对象都将添加到List中。

然后,您可以访问每个barlist barName和barLocation。