我有一个包含三个字段的数据库表,分类,名称和值(字符串,字符串,整数)。类别和名称一起是主键。我现在的目的是编写一个方法来返回该表的内容,并将其分类为
List<List<string>>
其中每个List是具有相同类别的条目列表(并且第一个字符串是类别)。我怎么能这样做,或者我是以错误的方式解决这个问题?
编辑:我选择这种数据类型的原因是我将使用数据填充HTML表格,并且只想使用嵌套的foreach循环进行迭代。
foreach(List<string ls in List<List<string>>)
use a foreach(string) to generate a table for ls
答案 0 :(得分:1)
我认为这可以更好地代表
class foo{
public string val1 {get;set;}
public string val2 {get;set;}
public int val3 {get;set;}
}
然后
List<foo>
...但这只是我对你所呈现的数据的解释。
答案 1 :(得分:1)
我有一种感觉,你这是错误的方式。我会创建一个简单的类
class Item
{
public string Category {get; set;}
public string Name{get; set;}
public string Value {get; set;}
}
并改为管理List<Item>
。
答案 2 :(得分:0)
List<List<string>> toListOfListOfString(Table table)
{
return table.Select(x=>new List<string>{x.Category,x.Name,x.Value.ToString()})
.ToList();
}
答案 3 :(得分:0)
var table = new [] {new {Category="a", Name="name1"},new {Category="a", Name="name2"},new {Category="B", Name="name3"}};
List<List<string>> x =
table
.GroupBy(
row => row.Category,
(k, rows) => new List<string> (new [] {k}.Union(rows.Select(r => r.Name))))
.ToList ();
当然,在你的情况下,你会使用你的桌子而不是我的。 ; - )