如何对数组分组,实现数据库中group by 的功能??

Symanteck 2011-09-09 10:12:36
我有一个数组,类似于:
源IP 目的IP 流量 其他字段
asd ddd 97978 xxx
eee sss 23423 xxx435
asd ddd 2332 xx654
dsf sewr 23326
eee sss 67823
数组实际长度很长,内容很多,而且是乱序的,请问怎么实现类似数据库表group by的功能,对源IP和目的IP分组,统计流量,用sql应该是这么写的
select 源IP,目的IP,count(流量) from table1 group by 源IP,目的IP
对数组怎么实现类似的功能啊??
...全文
478 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdl2005lyx 2011-09-09
  • 打赏
  • 举报
回复
给你个DataTable的实际例子:
private void GetRowsByFilter()
{
DataTable table = DataSet1.Tables["Orders"];

// Presuming the DataTable has a column named Date.
string expression = "Date > '1/1/00'";

// Sort descending by column named CompanyName.
string sortOrder = "CompanyName DESC";
DataRow[] foundRows;

// Use the Select method to find all rows matching the filter.
foundRows = table.Select(expression, sortOrder);

// Print column 0 of each returned row.
for(int i = 0; i < foundRows.Length; i ++)
{
Console.WriteLine(foundRows[i][0]);
}
}
sdl2005lyx 2011-09-09
  • 打赏
  • 举报
回复
把你的数组数据加到DataTable里面:
DataTable tb=new DataTable();

tb.Columns.Add(.....); //添加列
............
tb.Columns.Add(.....);

foreach(structA a in list)
{
tb.Rows.Add(.....); //加入行数据
}

DataRow[] selRow=tb..Select(expression, sortOrder); //此时就可以实现你的需求了。。。
种草德鲁伊 2011-09-09
  • 打赏
  • 举报
回复
那是啥,整个文本还是datatable 或者是别的?
Symanteck 2011-09-09
  • 打赏
  • 举报
回复
数组结构就是这样的了
源IP 目的IP 流量 其他字段
asd ddd 97978 xxx
eee sss 23423 xxx435
asd ddd 2332 xx654
dsf sewr 23326
eee sss 67823

挨踢直男 2011-09-09
  • 打赏
  • 举报
回复
数组结构发来看看

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧