如何创建二维动态长度数组?
我想创建一个二维数组,而不知道第一个维度的大小。
例如,当我创建一个数组时,我有一个未知的行数。 每行代表一个帐户。 每行退出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。