本文整理匯總了VB.NET中System.Array.Sort方法的典型用法代碼示例。如果您正苦於以下問題:VB.NET Array.Sort方法的具體用法?VB.NET Array.Sort怎麽用?VB.NET Array.Sort使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.Array
的用法示例。
在下文中一共展示了Array.Sort方法的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的VB.NET代碼示例。
示例1: Example
' 導入命名空間
Imports System.Collections
Public Class ReverseComparer : Implements IComparer
' Call CaseInsensitiveComparer.Compare with the parameters reversed.
Function Compare(x As Object, y As Object) As Integer _
Implements IComparer.Compare
Return New CaseInsensitiveComparer().Compare(y, x)
End Function
End Class
Public Module Example
Public Sub Main()
' Create and initialize a new array.
Dim words() As String = { "The", "QUICK", "BROWN", "FOX", "jumps",
"over", "the", "lazy", "dog" }
' Instantiate a new custom comparer.
Dim revComparer As New ReverseComparer()
' Display the values of the array.
Console.WriteLine( "The original order of elements in the array:" )
DisplayValues(words)
' Sort a section of the array using the default comparer.
Array.Sort(words, 1, 3)
Console.WriteLine( "After sorting elements 1-3 by using the default comparer:")
DisplayValues(words)
' Sort a section of the array using the reverse case-insensitive comparer.
Array.Sort(words, 1, 3, revComparer)
Console.WriteLine( "After sorting elements 1-3 by using the reverse case-insensitive comparer:")
DisplayValues(words)
' Sort the entire array using the default comparer.
Array.Sort(words)
Console.WriteLine( "After sorting the entire array by using the default comparer:")
DisplayValues(words)
' Sort the entire array by using the reverse case-insensitive comparer.
Array.Sort(words, revComparer)
Console.WriteLine( "After sorting the entire array using the reverse case-insensitive comparer:")
DisplayValues(words)
End Sub
Public Sub DisplayValues(arr() As String)
For i As Integer = arr.GetLowerBound(0) To arr.GetUpperBound(0)
Console.WriteLine(" [{0}] : {1}", i, arr(i))
Next
Console.WriteLine()
End Sub
End Module
輸出:
The original order of elements in the array: [0] : The [1] : QUICK [2] : BROWN [3] : FOX [4] : jumps [5] : over [6] : the [7] : lazy [8] : dog After sorting elements 1-3 by using the default comparer: [0] : The [1] : BROWN [2] : FOX [3] : QUICK [4] : jumps [5] : over [6] : the [7] : lazy [8] : dog After sorting elements 1-3 by using the reverse case-insensitive comparer: [0] : The [1] : QUICK [2] : FOX [3] : BROWN [4] : jumps [5] : over [6] : the [7] : lazy [8] : dog After sorting the entire array by using the default comparer: [0] : BROWN [1] : dog [2] : FOX [3] : jumps [4] : lazy [5] : over [6] : QUICK [7] : the [8] : The After sorting the entire array using the reverse case-insensitive comparer: [0] : the [1] : The [2] : QUICK [3] : over [4] : lazy [5] : jumps [6] : FOX [7] : dog [8] : BROWN
示例2: SamplesArray
' 導入命名空間
Imports System.Collections
Public Class SamplesArray
Public Class myReverserClass
Implements IComparer
' Calls CaseInsensitiveComparer.Compare with the parameters reversed.
Function Compare(x As [Object], y As [Object]) As Integer _
Implements IComparer.Compare
Return New CaseInsensitiveComparer().Compare(y, x)
End Function 'IComparer.Compare
End Class
Public Shared Sub Main()
' Creates and initializes a new Array and a new custom comparer.
Dim myKeys As [String]() = {"red", "GREEN", "YELLOW", "BLUE", "purple", "black", "orange"}
Dim myValues As [String]() = {"strawberries", "PEARS", "LIMES", "BERRIES", "grapes", "olives", "cantaloupe"}
Dim myComparer = New myReverserClass()
' Displays the values of the Array.
Console.WriteLine("The Array initially contains the following values:")
PrintKeysAndValues(myKeys, myValues)
' Sorts a section of the Array using the default comparer.
Array.Sort(myKeys, myValues, 1, 3)
Console.WriteLine("After sorting a section of the Array using the default comparer:")
PrintKeysAndValues(myKeys, myValues)
' Sorts a section of the Array using the reverse case-insensitive comparer.
Array.Sort(myKeys, myValues, 1, 3, myComparer)
Console.WriteLine("After sorting a section of the Array using the reverse case-insensitive comparer:")
PrintKeysAndValues(myKeys, myValues)
' Sorts the entire Array using the default comparer.
Array.Sort(myKeys, myValues)
Console.WriteLine("After sorting the entire Array using the default comparer:")
PrintKeysAndValues(myKeys, myValues)
' Sorts the entire Array using the reverse case-insensitive comparer.
Array.Sort(myKeys, myValues, myComparer)
Console.WriteLine("After sorting the entire Array using the reverse case-insensitive comparer:")
PrintKeysAndValues(myKeys, myValues)
End Sub
Public Shared Sub PrintKeysAndValues(myKeys() As [String], myValues() As [String])
Dim i As Integer
For i = 0 To myKeys.Length - 1
Console.WriteLine(" {0,-10}: {1}", myKeys(i), myValues(i))
Next i
Console.WriteLine()
End Sub
End Class
輸出:
The Array initially contains the following values: red : strawberries GREEN : PEARS YELLOW : LIMES BLUE : BERRIES purple : grapes black : olives orange : cantaloupe After sorting a section of the Array using the default comparer: red : strawberries BLUE : BERRIES GREEN : PEARS YELLOW : LIMES purple : grapes black : olives orange : cantaloupe After sorting a section of the Array using the reverse case-insensitive comparer: red : strawberries YELLOW : LIMES GREEN : PEARS BLUE : BERRIES purple : grapes black : olives orange : cantaloupe After sorting the entire Array using the default comparer: black : olives BLUE : BERRIES GREEN : PEARS orange : cantaloupe purple : grapes red : strawberries YELLOW : LIMES After sorting the entire Array using the reverse case-insensitive comparer: YELLOW : LIMES red : strawberries purple : grapes orange : cantaloupe GREEN : PEARS BLUE : BERRIES black : olives
示例3: Example
' 導入命名空間
Imports System.Collections.Generic
Public Class Example
Public Shared Sub Main()
Dim dinosaurs() As String = { _
"Pachycephalosaurus", _
"Amargasaurus", _
"Tyrannosaurus", _
"Mamenchisaurus", _
"Deinonychus", _
"Edmontosaurus" }
Console.WriteLine()
For Each dinosaur As String In dinosaurs
Console.WriteLine(dinosaur)
Next
Console.WriteLine(vbLf & "Sort")
Array.Sort(dinosaurs)
Console.WriteLine()
For Each dinosaur As String In dinosaurs
Console.WriteLine(dinosaur)
Next
Console.WriteLine(vbLf & _
"BinarySearch for 'Coelophysis':")
Dim index As Integer = _
Array.BinarySearch(dinosaurs, "Coelophysis")
ShowWhere(dinosaurs, index)
Console.WriteLine(vbLf & _
"BinarySearch for 'Tyrannosaurus':")
index = Array.BinarySearch(dinosaurs, "Tyrannosaurus")
ShowWhere(dinosaurs, index)
End Sub
Private Shared Sub ShowWhere(Of T) _
(ByVal array() As T, ByVal index As Integer)
If index < 0 Then
' If the index is negative, it represents the bitwise
' complement of the next larger element in the array.
'
index = index Xor -1
Console.Write("Not found. Sorts between: ")
If index = 0 Then
Console.Write("beginning of array and ")
Else
Console.Write("{0} and ", array(index - 1))
End If
If index = array.Length Then
Console.WriteLine("end of array.")
Else
Console.WriteLine("{0}.", array(index))
End If
Else
Console.WriteLine("Found at index {0}.", index)
End If
End Sub
End Class
輸出:
Pachycephalosaurus Amargasaurus Tyrannosaurus Mamenchisaurus Deinonychus Edmontosaurus Sort Amargasaurus Deinonychus Edmontosaurus Mamenchisaurus Pachycephalosaurus Tyrannosaurus BinarySearch for 'Coelophysis': Not found. Sorts between: Amargasaurus and Deinonychus. BinarySearch for 'Tyrannosaurus': Found at index 5.
示例4: ReverseComparer
' 導入命名空間
Imports System.Collections.Generic
Public Class ReverseComparer
Implements IComparer(Of String)
Public Function Compare(ByVal x As String, _
ByVal y As String) As Integer _
Implements IComparer(Of String).Compare
' Compare y and x in reverse order.
Return y.CompareTo(x)
End Function
End Class
Public Class Example
Public Shared Sub Main()
Dim dinosaurs() As String = { _
"Pachycephalosaurus", _
"Amargasaurus", _
"Tyrannosaurus", _
"Mamenchisaurus", _
"Deinonychus", _
"Edmontosaurus" }
Console.WriteLine()
For Each dinosaur As String In dinosaurs
Console.WriteLine(dinosaur)
Next
Dim rc As New ReverseComparer()
Console.WriteLine(vbLf & "Sort")
Array.Sort(dinosaurs, rc)
Console.WriteLine()
For Each dinosaur As String In dinosaurs
Console.WriteLine(dinosaur)
Next
Console.WriteLine(vbLf & _
"BinarySearch for 'Coelophysis':")
Dim index As Integer = _
Array.BinarySearch(dinosaurs, "Coelophysis", rc)
ShowWhere(dinosaurs, index)
Console.WriteLine(vbLf & _
"BinarySearch for 'Tyrannosaurus':")
index = Array.BinarySearch(dinosaurs, "Tyrannosaurus", rc)
ShowWhere(dinosaurs, index)
End Sub
Private Shared Sub ShowWhere(Of T) _
(ByVal array() As T, ByVal index As Integer)
If index < 0 Then
' If the index is negative, it represents the bitwise
' complement of the next larger element in the array.
'
index = index Xor -1
Console.Write("Not found. Sorts between: ")
If index = 0 Then
Console.Write("beginning of array and ")
Else
Console.Write("{0} and ", array(index - 1))
End If
If index = array.Length Then
Console.WriteLine("end of array.")
Else
Console.WriteLine("{0}.", array(index))
End If
Else
Console.WriteLine("Found at index {0}.", index)
End If
End Sub
End Class
輸出:
Pachycephalosaurus Amargasaurus Tyrannosaurus Mamenchisaurus Deinonychus Edmontosaurus Sort Tyrannosaurus Pachycephalosaurus Mamenchisaurus Edmontosaurus Deinonychus Amargasaurus BinarySearch for 'Coelophysis': Not found. Sorts between: Deinonychus and Amargasaurus. BinarySearch for 'Tyrannosaurus': Found at index 0.
示例5: Example
' 導入命名空間
Imports System.Collections.Generic
Public Class Example
Private Shared Function CompareDinosByLength( _
ByVal x As String, ByVal y As String) As Integer
If x Is Nothing Then
If y Is Nothing Then
' If x is Nothing and y is Nothing, they're
' equal.
Return 0
Else
' If x is Nothing and y is not Nothing, y
' is greater.
Return -1
End If
Else
' If x is not Nothing...
'
If y Is Nothing Then
' ...and y is Nothing, x is greater.
Return 1
Else
' ...and y is not Nothing, compare the
' lengths of the two strings.
'
Dim retval As Integer = _
x.Length.CompareTo(y.Length)
If retval <> 0 Then
' If the strings are not of equal length,
' the longer string is greater.
'
Return retval
Else
' If the strings are of equal length,
' sort them with ordinary string comparison.
'
Return x.CompareTo(y)
End If
End If
End If
End Function
Public Shared Sub Main()
Dim dinosaurs() As String = { _
"Pachycephalosaurus", _
"Amargasaurus", _
"", _
Nothing, _
"Mamenchisaurus", _
"Deinonychus" }
Display(dinosaurs)
Console.WriteLine(vbLf & "Sort with generic Comparison(Of String) delegate:")
Array.Sort(dinosaurs, AddressOf CompareDinosByLength)
Display(dinosaurs)
End Sub
Private Shared Sub Display(ByVal arr() As String)
Console.WriteLine()
For Each s As String In arr
If s Is Nothing Then
Console.WriteLine("(Nothing)")
Else
Console.WriteLine("""{0}""", s)
End If
Next
End Sub
End Class
輸出:
"Pachycephalosaurus" "Amargasaurus" "" (Nothing) "Mamenchisaurus" "Deinonychus" Sort with generic Comparison(Of String) delegate: (Nothing) "" "Deinonychus" "Amargasaurus" "Mamenchisaurus" "Pachycephalosaurus"
示例6: ReverseComparer
' 導入命名空間
Imports System.Collections.Generic
Public Class ReverseComparer
Implements IComparer(Of String)
Public Function Compare(ByVal x As String, _
ByVal y As String) As Integer _
Implements IComparer(Of String).Compare
' Compare y and x in reverse order.
Return y.CompareTo(x)
End Function
End Class
Public Class Example
Public Shared Sub Main()
Dim dinosaurs() As String = { _
"Pachycephalosaurus", _
"Amargasaurus", _
"Mamenchisaurus", _
"Tarbosaurus", _
"Tyrannosaurus", _
"Albertasaurus" }
Console.WriteLine()
For Each dinosaur As String In dinosaurs
Console.WriteLine(dinosaur)
Next
Console.WriteLine(vbLf & "Sort(dinosaurs, 3, 3)")
Array.Sort(dinosaurs, 3, 3)
Console.WriteLine()
For Each dinosaur As String In dinosaurs
Console.WriteLine(dinosaur)
Next
Dim rc As New ReverseComparer()
Console.WriteLine(vbLf & "Sort(dinosaurs, 3, 3, rc)")
Array.Sort(dinosaurs, 3, 3, rc)
Console.WriteLine()
For Each dinosaur As String In dinosaurs
Console.WriteLine(dinosaur)
Next
End Sub
End Class
輸出:
Pachycephalosaurus Amargasaurus Mamenchisaurus Tarbosaurus Tyrannosaurus Albertasaurus Sort(dinosaurs, 3, 3) Pachycephalosaurus Amargasaurus Mamenchisaurus Albertasaurus Tarbosaurus Tyrannosaurus Sort(dinosaurs, 3, 3, rc) Pachycephalosaurus Amargasaurus Mamenchisaurus Tyrannosaurus Tarbosaurus Albertasaurus
示例7: ReverseComparer
' 導入命名空間
Imports System.Collections.Generic
Public Class ReverseComparer
Implements IComparer(Of String)
Public Function Compare(ByVal x As String, _
ByVal y As String) As Integer _
Implements IComparer(Of String).Compare
' Compare y and x in reverse order.
Return y.CompareTo(x)
End Function
End Class
Public Class Example
Public Shared Sub Main()
Dim dinosaurs() As String = { _
"Seismosaurus", _
"Chasmosaurus", _
"Coelophysis", _
"Mamenchisaurus", _
"Caudipteryx", _
"Cetiosaurus" }
Dim dinosaurSizes() As Integer = { 40, 5, 3, 22, 1, 18 }
Console.WriteLine()
For i As Integer = 0 To dinosaurs.Length - 1
Console.WriteLine("{0}: up to {1} meters long.", _
dinosaurs(i), dinosaurSizes(i))
Next
Console.WriteLine(vbLf & _
"Sort(dinosaurs, dinosaurSizes)")
Array.Sort(dinosaurs, dinosaurSizes)
Console.WriteLine()
For i As Integer = 0 To dinosaurs.Length - 1
Console.WriteLine("{0}: up to {1} meters long.", _
dinosaurs(i), dinosaurSizes(i))
Next
Dim rc As New ReverseComparer()
Console.WriteLine(vbLf & _
"Sort(dinosaurs, dinosaurSizes, rc)")
Array.Sort(dinosaurs, dinosaurSizes, rc)
Console.WriteLine()
For i As Integer = 0 To dinosaurs.Length - 1
Console.WriteLine("{0}: up to {1} meters long.", _
dinosaurs(i), dinosaurSizes(i))
Next
Console.WriteLine(vbLf & _
"Sort(dinosaurs, dinosaurSizes, 3, 3)")
Array.Sort(dinosaurs, dinosaurSizes, 3, 3)
Console.WriteLine()
For i As Integer = 0 To dinosaurs.Length - 1
Console.WriteLine("{0}: up to {1} meters long.", _
dinosaurs(i), dinosaurSizes(i))
Next
Console.WriteLine(vbLf & _
"Sort(dinosaurs, dinosaurSizes, 3, 3, rc)")
Array.Sort(dinosaurs, dinosaurSizes, 3, 3, rc)
Console.WriteLine()
For i As Integer = 0 To dinosaurs.Length - 1
Console.WriteLine("{0}: up to {1} meters long.", _
dinosaurs(i), dinosaurSizes(i))
Next
End Sub
End Class
輸出:
Seismosaurus: up to 40 meters long. Chasmosaurus: up to 5 meters long. Coelophysis: up to 3 meters long. Mamenchisaurus: up to 22 meters long. Caudipteryx: up to 1 meters long. Cetiosaurus: up to 18 meters long. Sort(dinosaurs, dinosaurSizes) Caudipteryx: up to 1 meters long. Cetiosaurus: up to 18 meters long. Chasmosaurus: up to 5 meters long. Coelophysis: up to 3 meters long. Mamenchisaurus: up to 22 meters long. Seismosaurus: up to 40 meters long. Sort(dinosaurs, dinosaurSizes, rc) Seismosaurus: up to 40 meters long. Mamenchisaurus: up to 22 meters long. Coelophysis: up to 3 meters long. Chasmosaurus: up to 5 meters long. Cetiosaurus: up to 18 meters long. Caudipteryx: up to 1 meters long. Sort(dinosaurs, dinosaurSizes, 3, 3) Seismosaurus: up to 40 meters long. Mamenchisaurus: up to 22 meters long. Coelophysis: up to 3 meters long. Caudipteryx: up to 1 meters long. Cetiosaurus: up to 18 meters long. Chasmosaurus: up to 5 meters long. Sort(dinosaurs, dinosaurSizes, 3, 3, rc) Seismosaurus: up to 40 meters long. Mamenchisaurus: up to 22 meters long. Coelophysis: up to 3 meters long. Chasmosaurus: up to 5 meters long. Cetiosaurus: up to 18 meters long. Caudipteryx: up to 1 meters long.
示例8: modMain
Option Strict On
Imports System.Collections
Public Module modMain
Public Sub Main()
Dim airports As New Hashtable
airports.Add("S", "SSS")
airports.Add("X", "XXX")
airports.Add("D", "DDD")
airports.Add("R", "RRR")
Dim values As ICollection = airports.Values
Dim valuesArray(airports.Count - 1) As String
values.CopyTo(valuesArray, 0)
Array.Sort(valuesArray)
Console.WriteLine()
For Each value As String in valuesArray
Console.WriteLine(value)
Next
End Sub
End Module