C# - 嵌套数组/数据结构
本文关键字:数据结构 数组 嵌套 | 更新日期: 2023-09-27 18:37:19
最近,我一直在学习C#(ASP.NET)并从PHP转向。我想实现这样的事情:
mainArray (
array 1 (
'name' => 'example'
),
array 2 (
'name' => 'example2'
)
);
我知道您可以在 C# 中使用Array
但是,您必须在这样做之前指出数组的长度,这就是问题所在。
我想在类函数中循环访问数据库,该函数返回所有列的数组,即:
ID、用户名、电子邮件。
我试过:
public Array search_bustype(string match, string forthat)
{
db = new rkdb_07022016Entities2();
var tbl = (from c in db.tblbus_business select c).ToArray();
List<string> List = new List<string>();
int i = 0;
foreach (var toCheck in tbl)
{
if (toCheck.BusType.ToString() == match)
{
if (forthat == "Name")
{
List.Add(toCheck.Name);
}
if (forthat == "Address")
{
}
}
i++;
}
return List.ToArray();
}
但如您所见,我只需要返回单列,因为List
不是多维的(无法嵌套)。
我可以用什么来解决这个问题?我看了一些链接:
C# 数组
堆栈溢出帖子
但这些对于我的结构来说又是一个问题,因为我不知道在声明数组时我需要多少索引 - 数据库每天都在增长。
提前谢谢。
试试这样的事情。 首先,为您的业务模型定义一个类。
public class Person
{
public string Name {get;set;}
public string Address {get;set;}
}
然后使用泛型列表而不是字符串列表。
public Person[] search_bustype(string match, string forthat)
{
var db = new rkdb_07022016Entities2();
List<Person> personList = new List<Person>();
foreach (var toCheck in db.tblbus_business.Where(b => b.BusType.ToString() == match))
{
var model = new Person { Name = toCheck.Name, Address = toCheck.Address };
personList.Add(model);
}
return personList.ToArray();
}
我不确定您要对该变量做什么。
您可以使用列表列表
IList<IList<string>> multiList;