如何在C#中创建2D数组的实例?

时间:2016-03-22 16:49:10

标签: c#-4.0 multidimensional-array createinstance

所以我有以下内容,似乎不正确。

var classAsm =  assembly.GetExportedTypes().Where(o => o.FullName == "iControl.CommonAddressPort").First();
Array propertyOfPorts = Array.CreateInstance (classAsm, 1,1);

我想要实现的是为propertyOfPorts分配值,因为有2个(地址 - 字符串和端口 - 长),例如这个:

propertyOfPorts.address = "12.2.2.2";
propertyOfPorts.port = 80;

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我个人会首先上课,然后使用一个列表。

public class PortProperties {
    public String Address { get; set; }
    public long Port { get; set; }
}

然后初始化列表:

var propertiesOfPorts = new List<PortProperties>();

然后添加它:

propertiesOfPorts.add( new PortProperties {
    Address = "12.2.2.2",
    Port = 80
});

然后使用它:

PortProperties firstPort = propertiesOfPorts[0];
String address = firstPort.Address;
long port = firstPort.Port

使用此方法,可以轻松定义您想要的内容。否则2D阵列或3D阵列会变得非常混乱。例如,也许为每个端口的我需要定义的与该特定端口其它这种信息的其它列表(因此使这种潜在的3D阵列),我只是包括在PortProperties类一个列表对象,简单和容易了解。

public class PortProperties {
    public String Address { get; set; }
    public long Port { get; set; }
    public List<String> otherPropList { get; set; }
}