C#LinqDB表到列表列表
本文关键字:列表 C#LinqDB | 更新日期: 2023-09-27 18:05:34
我有一个DB表,它有三个字段,Category、Name和value(string、string、int(。类别和名称是主键。我现在的意图是编写一个方法,将该表的内容排序为
List<List<string>>
其中每个List是具有相同类别的条目的列表(并且第一个字符串是类别(。我该怎么做,还是我的做法不对?
EDIT:我选择这种数据类型的原因是,我将用数据填充HTML表,并且只想用嵌套的foreach循环进行迭代。
foreach(List<string ls in List<List<string>>)
use a foreach(string) to generate a table for ls
我觉得你做这件事的方式不对。我会创建一个简单的类
class Item
{
public string Category {get; set;}
public string Name{get; set;}
public string Value {get; set;}
}
而代之以管理CCD_ 1。
我认为这最好用来表示
class foo{
public string val1 {get;set;}
public string val2 {get;set;}
public int val3 {get;set;}
}
然后
List<foo>
但这只是我对你提供的数据的解释。
List<List<string>> toListOfListOfString(Table table)
{
return table.Select(x=>new List<string>{x.Category,x.Name,x.Value.ToString()})
.ToList();
}
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 ();
当然,在你的情况下,你会用你的桌子而不是我的