gpt4 book ai didi

C# 多维数组、ArrayList 或哈希表?

转载 作者:太空狗 更新时间:2023-10-29 22:13:07 30 4
gpt4 key购买 nike

我正在尝试弄清楚如何构建一个多维“数组”,即:

  • 灵活的尺寸
  • 使用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/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com