C# WinForm:System.Data.DataTable myTable=....;这个DataTable中有5列,每列都有10000条左右的数据A B C D E2 3 4 5 61 4 5 6 92 3 8 6 7..................要求C#从这个System.Data.DataTable中查找出这个表中A、B、C三列中(整体)的最大值和最小值对应上面给的几行数据,结果就是:Max Min
8 1请问该怎么查找出来? 不要用循环比较的方法,因为每列都1W行左右呢。 用尽量少的语句,能一条搞定出结果的最好,谢谢。
8 1请问该怎么查找出来? 不要用循环比较的方法,因为每列都1W行左右呢。 用尽量少的语句,能一条搞定出结果的最好,谢谢。
解决方案 »
- 发布网站提示"访问被拒绝"?!
- 这个正则表达式为什么没能匹配上?(在线苦等)
- 请问连续存储文件的方法对于一个格式化好的空白存储卡
- [调查]多少人还在用vs2003和 sql2000呀!
- winform dataGridView 自动生成列的问题
- 关于,C#中,绑定dataset 中的值得一列textbox,如何让这一列,不随其他列的排序,而自动排序?
- 关于ReFresh刷新问题
- 如何访问treevie的子节点
- windows form 中Application是什么用途的呢??谢谢
- winfrom使用dotnetbar后卡死
- vs.net2005 中word 打印问题?
- c# 调试一个拼图小游戏
如果是数据库的话不是有 min() max()这些就行了吗?
怎么最大的是8?
==================
是A、B、C三列的最值,题目中说了"查找出这个表中A、B、C三列中(整体)的最大值和最小值"
"整体"意思是将这三列看作一整体,而不是分别查每列的最值----------------------------------------------------------------
回2楼:你那table数据从哪里来的呢。。
=====================================
table数据源是个XML文档,这里没有真正的数据库连接的,所以只能在System.Data.DataTable中处理
DataTable dt = new DataTable();
DataColumn dc = new DataColumn();
dc.ColumnName = "A";
dc.DataType = typeof(int);
dt.Columns.Add(dc);
dc = new DataColumn();
dc.ColumnName = "B";
dc.DataType = typeof(int);
dt.Columns.Add(dc);
dc = new DataColumn();
dc.ColumnName = "C";
dc.DataType = typeof(int);
dt.Columns.Add(dc); DataRow dr = dt.NewRow();
dr.ItemArray = new object[] { 2, 3, 4 };
dt.Rows.Add(dr);
dr = dt.NewRow();
dr.ItemArray = new object[] { 1, 4, 5 };
dt.Rows.Add(dr);
dr = dt.NewRow();
dr.ItemArray = new object[] { 2, 3, 8 };
dt.Rows.Add(dr); object maxA = dt.Compute("Max(A)", "");
object minA = dt.Compute("min(A)", ""); object maxB = dt.Compute("Max(B)", "");
object minB = dt.Compute("min(B)", ""); object maxC = dt.Compute("Max(C)", "");
object minC = dt.Compute("min(C)", "");
DataTable dt = new DataTable();
for (int i = 0; i++; i < dt.Rows.Count)
{
al.Add(dt.Rows[i]["A"].ToString().Trim());
al.Add(dt.Rows[i]["B"].ToString().Trim());
al.Add(dt.Rows[i]["C"].ToString().Trim());
}
al.Sort();
MessageBox.Show(al[al.Count -1].ToString ());//最大值
MessageBox.Show(al[0].ToString());//最小值