从任何字符位置

时间:2016-01-31 15:57:12

标签: arrays vb.net

使用vb 2008我需要对字符串数组进行排序:(例如:)

dim list1() as String={"CONE0Z08TTTBALL","BARE0U04TTTBALL",  
             "APTN0S01TTTBALL","SPTN0K02TTTBALL"}

从第5个字符(不是第一个)排序:

  1. SPTN0K02TTTBALL
  2. VPTN0S01TTTBALL
  3. BARE0U04TTTBALL
  4. CONE0Z08TTTBALL
  5. 有什么方法可以使用Array类排序吗?

1 个答案:

答案 0 :(得分:2)

您可以使用linq来做到这一点。我将APTN0K02TTTBALL更改为SPTN0K02TTTBALL,因为这看起来像是一个错字。

Dim list1() As String = {"CONE0Z08TTTBALL", "BARE0U04TTTBALL",
     "APTN0S01TTTBALL", "SPTN0K02TTTBALL"}
Dim result = list1.OrderBy(Function(q) q.Substring(5)).ToArray

For Each s As String In result
    Console.WriteLine(s)
Next

输出:

  

SPTN0K02TTTBALL
  APTN0S01TTTBALL
  BARE0U04TTTBALL
  CONE0Z08TTTBALL

注意:如果使用第5个字符,则表示从1开始,更改substring参数(基于0)。此外,这是一个字母排序,所以如果你想按数字的值排序,你也应该转换为整数。不确定你的意思。

ryanyuyu亲切地写了这封DotNetFiddle