我正在使用VS2008和ASP.NET 3.5 C#
我有一个使用textBox& amp填充的数组列表。输入数字的按钮。
单击按钮后,我需要在arraylist中显示最高编号 到目前为止,我知道我需要一个循环来比较arraylist中的项目。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
public partial class Default4 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ArrayList basket;
basket = (ArrayList)(Session["basket"]);
lblPrintOut.Text = "";
for (int x = 0; x < basket.Count; x++)
{
//In here i need to make sure that I
//compare the all the values with each other.
//My question is HOW?
}
}
}
我是否可以使用.SORT
,然后以某种方式选择列表中的最高数字?你们觉得怎么样?
答案 0 :(得分:3)
如果您使用的是.NET 3.5,则以下内容可能最简单。它要求数组列表中的所有项都是相同的类型,否则.Cast扩展将失败:
int maxValue = basket.Cast<int>().Max();
答案 1 :(得分:0)
使用Linq,您应该能够从对象列表中获得最大值。
你可以排序,并选择最后一个/第一个元素,或者你可以通过列表进行迭代并保留你在数组列表中找到的最大对象的变量。
答案 2 :(得分:0)
篮子arraylist应该有一个COUNT属性,并记住-1,因为它是一个从零开始的列表。
答案 3 :(得分:0)
您应该使用Sort()
方法,因为它为您提供了灵活性(考虑将来的修改),并为标准值类型和字符串提供排序。排序int
列表后,您可以将最高值读取为最大值。