C# ArrayList的排序

C#stringaaa="agbc5,dhk721,klkk32,duuoj01";//逗号前有数字ArrayListarrl=newArrayList();arrl.A... C#
string aaa = "agbc5,dhk721,klkk32,duuoj01";//逗号前有数字
ArrayList arrl = new ArrayList();
arrl.AddRange(aaa.split(','); //根据 , 把aaa的值分别赋给arrl数组
怎么根据每行数组里的数字来排序arrl数组,从大往小

我用的是:vs2008, 2.0 Fremwork
展开
 我来答
Raiuy
推荐于2016-07-16 · TA获得超过2916个赞
知道大有可为答主
回答量:2210
采纳率:0%
帮助的人:897万
展开全部
using System;
using System.Collections;
using System.Text.RegularExpressions;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string aaa = "agbc5,dhk721,klkk32,duuoj01";
ArrayList arrl = new ArrayList();
arrl.AddRange(aaa.Split(','));

for (int i = 0; i < arrl.Count - 1; i++)
{
for (int j = i; j < arrl.Count; j++)
{
if (GetNumber(arrl[i].ToString()) < GetNumber(arrl[j].ToString()))
{
object temp = arrl[i];
arrl[i] = arrl[j];
arrl[j] = temp;
}
}
}

foreach (object item in arrl)
{
Console.WriteLine(item);
}
}

internal static int GetNumber(string str)
{
Regex regex = new Regex(@"\d+");
return int.Parse(regex.Match(str).Value);
}
}
}
行走在路上的小蜗牛
2011-11-03 · 超过27用户采纳过TA的回答
知道答主
回答量:102
采纳率:33%
帮助的人:22.4万
展开全部
aaa = "agbc5,dhk721,klkk32,duuoj01";

建议你这里选处理好字串值的排序。
将每个值的数字提取出来,再按大到小,重新排序。

只要得到下面的结果。后面就不用改了。
aaa = "dhk721,klkk32,agbc5,duuoj01";
追问
那怎么排序字符串?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式