Lettersandnumbersandnumbersonly.我的客户要求按如下方式排序:在表列表类型对象中排序包含项目代码:111,111A、222,411G、300,411Z、G411、AG500、A111、AZ600、ABQ、ZZZ、AAN等。要求结果:首先显示数字(如111然后222然后300等...)接下来是带字母的数字(如111A然后411G然后411Z等...)下一个带数字的字母(如A111然后G411然后AG500然后AZ600等......)只有下一个字母(比如AAN然后ABQ然后ZZZ等等)所以字符串可以是任何东西。但我想按照要求的结果进行排序。所以请帮帮我。unsortedStringList.Sort(newAlphanumComparatorFastString());AlphanumComparator:publicclassAlphanumComparatorFastString:IComparer{publicintCompare(strings1,strings2){if(s1==null)返回0;如果(s2==null)返回0;intlen1=s1.长度;intlen2=s2.长度;int标记1=0;int标记2=0;//使用两个标记遍历两个字符串。while(marker1seehttp://www.dotnetperls.com/alphanumeric-Forsortingtrythis:vartext="111,111A,222,411G,300,411Z,G411,AG500,A111,AZ600,ABQ,ZZZ,AAN";varlist=text.Split(',').ToList();varresult=list.OrderBy(i=>i,newStringCompare());foreach(variteminresult){Console.WriteLine(item);}StringCompare类:类StringCompare:IComparer{string[]exps=new[]{@"^d+$",@"^d+[a-zA-Z]+$",@"^[a-zA-Z]d+$",@"^[a-zA-Z]+d+$"};publicintCompare(stringx,stringy){for(inti=0;i你会得到:以上是C#学习教程:列表的排序包含所有带字母/数字的字符串共享的内容,如果对大家有用,需要详细了解C#学习教程,希望大家多多关注—111222300111A411G411ZA111G411AG500AZ600AANABQZZZ本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
