我想创建一个二维数组,而不知道第一维的大小。
例如,当我创建一个数组时,我有一个未知的行数。 每行代表一个帐户。 每行退出4列:ID,名称,用户,密码
我尝试使用锯齿状数组,但不可能有:
int[][] jaggedArray = new int[][3];
我也查找了ArrayList
,使用了clases和一些关于泛型的实现。
我正在寻找一种可以轻松操作数据的解决方案:
因为我是.NET(C#)的新手,请为我提供代码解决方案,而不是通用(寻找)解决方案
答案 0 :(得分:17)
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<Account> list = new List<Account>();
这有你需要的一切:
添加到列表,选择,输入元素
list.Add
等
使用数据库查询中的元素 在其他函数中用作参数
模糊而没有更多信息,但您可以传递Account
或不定值或整个列表。
答案 1 :(得分:2)
.NET中没有动态长度数组这样的东西。请改用List<>
。
实例化数组时,所有数组边界都需要知道。可能让你感到困惑的是,这似乎与锯齿状数组不同,但它不是:因为它是一个数组数组,当你实例化它时,它将是一个未实例化数组的数组(例如null
引用)。然后,您需要再次分配每个阵列以使用它们。
答案 2 :(得分:0)
只要我知道,我们无法在不知道其大小的情况下实例化数组。为什么不尝试列表数组?像这样:
List<int>[] a = new List<int>[yourDesireColumnNumber];
使用List,添加,选择,输入元素是微不足道的。如果要将其作为参数提供给其他函数,只需定义Type。