如何创建二维动态长度数组?

我想创建一个二维数组,而不知道第一个维度的大小。

例如,当我创建一个数组时,我有一个未知的行数。 每行代表一个帐户。 每行退出4列:ID,名称,用户,密码

我尝试使用锯齿状arrays,但不可能:

int[][] jaggedArray = new int[][3]; 

我也寻找了ArrayList ,使用clases实现了一些关于Generics的实现。

我正在寻找一种可以轻松操作数据的解决方案:

  • 添加到列表,选择,输入元素
  • 使用数据库查询中的元素
  • 在其他function中用作参数

因为我是.NET(C#)的新手,请为我提供代码解决方案,而不是通用(寻找)解决方案

IMO,因为“列”是固定的,为此声明一个类:

 public class Account { public int ID {get;set;} public string Name {get;set;} public string User {get;set;} public string Password {get;set;} // you meant salted hash, right? ;p } 

现在有一个:

 List list = new List(); 

这有你需要的一切:

添加到列表,选择,输入元素

list.Add

在其他函数中使用as参数在数据库查询中使用元素

没有更多信息的模糊,但您可以传递Account或不变的值,或整个列表。

.NET中没有动态长度数组这样的东西。 请改用List<>

在实例化数组时,需要知道数组边界。 可能让你感到困惑的是,这似乎与锯齿状数组不同,但它不是:因为它是一个数组数组,当你实例化它时,它将是一个未实例化数组的数组(例如null引用)。 然后,您需要再次分配每个arrays以使用它们。

只要我知道,我们无法在不知道其大小的情况下实例化数组。 为什么不尝试列表数组? 像这样:

 List[] a = new List[yourDesireColumnNumber]; 

使用List,添加,选择,输入元素是微不足道的。 如果要将其作为参数提供给其他函数,只需定义Type。