[英]C# - Nested Array/Data structures
最近,我進入C#(ASP.NET)並從PHP繼續前進。 我想實現以下目標:
mainArray (
array 1 (
'name' => 'example'
),
array 2 (
'name' => 'example2'
)
);
我知道您可以在C#中使用Array
,但是在這樣做之前必須指出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
不是多維的(不能嵌套)。
我可以用什么來解決這個問題? 我看了一些鏈接:
但是這些又對我的結構來說是個問題,因為在聲明它時我不知道數組中需要多少個索引-數據庫每天都在增長。
提前致謝。
您可以使用列表清單
IList<IList<string>> multiList;
嘗試這樣的事情。 首先,為您的業務模型定義一個類。
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();
}
我不確定您要使用for那個變量做什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.