我正在尝试弄清楚如何构建一个多维“数组”,即:
- 灵活的尺寸
- 使用2个键
- 第一个键是 int(灵活)
- 第二个键是字符串(有限的)
使用方式如下:
console.writelen(array[0]["firstname"]);
console.writelen(array[0]["lastname"]);
console.writelen(array[0]["phone"]);
console.writelen(array[1]["firstname"]);
console.writelen(array[1]["lastname"]);
console.writelen(array[1]["phone"]);
.....
.....
console.writelen(array[x]["firstname"]);
console.writelen(array[x]["lastname"]);
console.writelen(array[x]["phone"]);
最佳答案
您确定创建一个类/结构来包含数据不是更合适吗?例如:
class Person
{
public string FirstName
{
get;
set;
}
public string LastName
{
get;
set;
}
public string Phone
{
get;
set;
}
}
然后你只需创建一个 Person
数组:
var array = new Person[1];
array[0] = new Person() { FirstName = "Joe", LastName = "Smith", Phone = "foo" };
或者,既然您说的是“灵活大小”,也许您需要一个列表:
var list = new List<Person>();
list.Add(new Person());
更新:第一个示例中用于设置array[0]
的语法是object initializer。 ;以下两个片段大致相同:
var foo = new Person();
foo.FirstName = "John";
var bar = new Person() { FirstName = "John" };
所以是的,如果你愿意,你可以调用 list.Add(new Person() { ... })
。在这种情况下,您还可以使用集合初始值设定项:
var john = new Person() { FirstName = "John" };
var joe = new Person() { FirstName = "Joe" };
var list = new List<Person>() { john, joe };
关于C# 多维数组、ArrayList 或哈希表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2763909/