gpt4 book ai didi

c# - DataTable 分组并循环访问 C#

转载 作者:太空宇宙 更新时间:2023-11-03 21:18:58 24 4
gpt4 key购买 nike

我有一个从数据库返回的数据表。

内容类似:

UserId | Address | Phone
1 blah 0123
1 blah2 3445
2 sdsdf 2343
2 ssf 2223
3 sadss 2321

这是从数据库返回的DataTable的内容。

现在我只想按用户 ID 对结果进行分组并循环输出结果

foreach(DataTableGroupedByUser 中的 DataRow userRow){

foreach(AddressAndPhoneRows 中的 DataRow restOfColumns){

输出用户详细信息}

我得到的输出应该是:

User Id: 1

Address Phone
1- blah 0123
2- blah2 3445

User Id 2:
Address Phone
1- sdsdf 2343
2- ssf 2223

用户编号:3 ...

我希望你明白这一点。

基本上我不想为每个用户多次查询数据库,而是只使用一个查询来提取所有数据并处理内存中的分组。

还有其他原因。

有没有办法通过使用 DataTable 和过滤来实现这一点?

最佳答案

您可以使用 LINQ:

var groupedByUserId = table.AsEnumerable().GroupBy(row => row.Field<int>("UserId"));

foreach(var group in groupedByUserId)
{
Console.WriteLine("User Id: {0}", group.Key);
Console.WriteLine("Address Phone");
int rowNum = 0;
foreach(DataRow row in group)
{
Console.WriteLine("{0}- {1} {2}", ++rowNum, row.Field<string>("Address"), row.Field<string>("Address"));
}
}

关于c# - DataTable 分组并循环访问 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32076119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com