C# ArrayList的排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# ArrayList的排序相关的知识,希望对你有一定的参考价值。

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

我用的是:vs2008, 2.0 Fremwork

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);


参考技术A aaa = "agbc5,dhk721,klkk32,duuoj01";

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

只要得到下面的结果。后面就不用改了。
aaa = "dhk721,klkk32,agbc5,duuoj01";追问

那怎么排序字符串?

C#基础第三天-作业-集合-冒泡排序-模拟名片

1.名片:用两种集合(ArrayList/List<>)去输出余下信息。
身份证号码,电话号码,性别,姓名,身高,年龄,体重。
需求:根据 姓名 去查询某一行数据。如果集合中不存在提示(“自定义提示 例:查无此人”);
如果存在就输出该姓名对应的全部信息。

 

2. 冒泡排序:不限定集合类型 去实现冒泡排序

 

以上是关于C# ArrayList的排序的主要内容,如果未能解决你的问题,请参考以下文章

C#中的ArrayList

arraylist数组排序

java arraylist 按照对象的属性排序

c# arraylist遍历删除

arrayList和linkedList在排序上的区别

在 ArrayList 上排序,但 ArrayList 具有相同的值