比如列表里面有个数值的字段,第一行是100,第二行是200,如此循环下去进行比较 直到把最大的值取出来。求各位大侠帮忙!谢谢!
解决方案 »
- UpdatePanel调用js
- 网页的日志
- 谁能解释一下viewstate和eventvalidation以及doPostBack的具体原理
- Session 未将对象引用设置到对象的实例
- 请教javascript把百分数转换成浮点小数
- 装完Window2003企业中文版之后,再装SQL SERVER2005企业中文版,之后再装VS.NET2005企业英文版,不能新建CS项目
- 向大家请教一个访问数据库的奇怪问题!
- <--------------一个奇怪的问题,为什么呀!----------->
- 急急急急急急 求一简单新闻发布系统?????????????????????????????????????????????
- 关于MultiPage控件
- DataSet与DataTable
- Foreach 与 读取数据库 的速度比较.
数据读取到arrylist
使用他的sort方法 直接OK了。
int max = 0
foreach 读取每一行
if (当前行 > max) max = 当前行
max就是你要的。
int Money = 0;
foreach (RepeaterItem item in this.BaoBeiContent.Items)
{
TextBox aa = item.FindControl("控件") as TextBox;
Money = int.Parse(aa.Text);
List<int> list = new List<int>();
list.Add(Money); int i = 0, j = 0; // 循环变量
int temp; // 临时变量
int[] arr = new int[] { Money };
for (j = 1; j < arr.Length; j++)
{//外循环每次把参与排序的最大数排在最后
for (i = 0; i < arr.Length - j; i++)
{ //内层循环负责对比相邻的两个数,并把最大的排在后面
if (arr[i] > arr[i + 1])
{ //如果前 一个数大于后一个数,则交换两个数
temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
}
for (j = 0; j < arr.Length; j++)
{
bb.Text = arr[i].ToString();
}
看我这样写的有问题没?这样写不管怎样,取的值都是最后一个。
int MaxMoney = 0;
foreach(RepeaterItem item in this.BaoBeiContent.Items)
{
if(MaxMoney<int.Parse((item.FindControl("控件") as TextBox).Text.Trim()))
{
MaxMoney = int.Parse((item.FindControl("控件") as TextBox).Text.Trim()) ;
}
}
Response.Write("最大价格:"+MaxMoney);
你原先Foreach里每次只取一条数据,你丢进List泛型中,是不行的,下面你2层for循环就更没意义了。你直接设置个变量,然后在foreach每次遍历中比较赋值,在foreach完毕后,取出的自然是最大值,这里设置的初始比较值是0,如果有负数的话,你可以设置一个负数,如-99999
当然自己写的最好。
我以前写的。
List<int> mylist = new List<int>();
for (int i=0; i < 10; i++)
{
}
mylist.Sort();
foreach (int em in mylist)
{
}