VB.Net by API/System/Array

Материал из VB Эксперт
Перейти к: навигация, поиск

Array.BinarySearch

<source lang="vbnet">

Imports System Imports System.Collections Public Class MainClass

  Shared Private integerValues As Integer() = {1, 2, 3, 4, 5, 6}
  Shared Private integerValuesCopy(6) As Integer
  Public Shared Sub Main()
     Dim result As Integer
     Console.WriteLine("Initial Array Values:" )
     PrintArray()
     Array.Copy(integerValues, integerValuesCopy,integerValues.Length)
     Console.WriteLine("Array values after Copy:" )
     PrintArray() 
     result = Array.BinarySearch(integerValues, 5)
     If result >= 0 Then
        Console.WriteLine("5 found at element " & result )
     Else
        Console.WriteLine("5 not found" & " in integerValues")
     End If
  End Sub
  Shared Private Sub PrintArray()
     Dim integerElement As Integer
     For Each integerElement In integerValues
        Console.WriteLine(integerElement )
     Next
     Console.WriteLine(" integerValuesCopy: ")
     For Each integerElement In integerValuesCopy
        Console.WriteLine(integerElement )
     Next
  End Sub

End Class


 </source>


Array.Clone

<source lang="vbnet"> Public Class Tester

   Public Shared Sub Main
       Dim arrayA() As String = {"One", "Two", "Three", "Four", "Five", "Six"}
       Console.WriteLine(Join(arrayA, ","))
       Dim arrayB() As String = {"A", "B", "C", "D", "E", "E", "F", "G", "H"}
       Console.WriteLine(Join(arrayB, ","))
       " ----- Make a reference copy.
       Dim arrayC() As String = arrayA
       Console.WriteLine(Join(arrayC, ","))
       " ----- Make a full, unique copy of all elements.
       Dim arrayD() As String = arrayA.Clone
       Console.WriteLine(Join(arrayD, ","))
   End Sub

End Class


 </source>


Array.Copy

<source lang="vbnet">

Imports System Imports System.Collections Public Class MainClass

  Shared Private integerValues As Integer() = {1, 2, 3, 4, 5, 6}
  Shared Private integerValuesCopy(6) As Integer
  Public Shared Sub Main()
     Dim result As Integer
     Console.WriteLine("Initial Array Values:" )
     PrintArray()
     Array.Copy(integerValues, integerValuesCopy,integerValues.Length)
     Console.WriteLine("Array values after Copy:" )
     PrintArray() 
     result = Array.BinarySearch(integerValues, 5)
     If result >= 0 Then
        Console.WriteLine("5 found at element " & result )
     Else
        Console.WriteLine("5 not found" & " in integerValues")
     End If
  End Sub
  Shared Private Sub PrintArray()
     Dim integerElement As Integer
     For Each integerElement In integerValues
        Console.WriteLine(integerElement )
     Next
     Console.WriteLine(" integerValuesCopy: ")
     For Each integerElement In integerValuesCopy
        Console.WriteLine(integerElement )
     Next
  End Sub

End Class


 </source>


Array.CreateInstance

<source lang="vbnet"> Option Strict On Public Module Arrays

  Public Sub Main
     Dim arr As Array
     Dim int() As Integer = {12, 16, 20, 24, 28, 32}
     arr = CType(int, Array)
     Dim byFours() As Integer = {12, 24, 36, 48}
     Dim names() As String = {"K", "S", "S", "D", "N"}
     Dim miscData() As Object = {"this", 12d, 16ui, "a"c}
     Dim objArray() As Object
     miscData = names
     
     Dim myArray1a() As Integer " Uninitialized array
     Dim myArray1b As Integer() " Uninitialized array
     Dim myArray2(10) As Integer " 1-dimensional array with 11 elements
     Dim Employees1( , ) As Object " Uninitialized 2-D array
     Dim Employees(200, 2) As Object " 2-D array with 201 and 3 elements
     Dim jagged1(9)() As String
     Dim jagged2()() As String = New String(9)() {}
     Dim myArray1arr As Array
     Dim myArray2a As Array = Array.CreateInstance(GetType(Integer), 10)
     Dim members() As Integer = {3, 10}
     Dim myArray3a As Array = Array.CreateInstance(GetType(Integer), members)
  End Sub

End Module


 </source>


Array.GetLowerBound

<source lang="vbnet"> public class Test

  public Shared Sub Main
       Dim aryNames(9) As String
       Dim intCounter As Integer
       "Show the array boundaries.
       Console.WriteLine("LOWER BOUND: " & aryNames.GetLowerBound(0))
       Console.WriteLine("UPPER BOUND: " & aryNames.GetUpperBound(0))
       Console.WriteLine("LENGTH: " & aryNames.Length)
       "Populate the array.
       For intCounter = 0 To aryNames.GetUpperBound(0)
           aryNames(intCounter) = "Element position = " & intCounter
       Next intCounter
       "Show the elements of the array.
       For intCounter = 0 To aryNames.GetUpperBound(0)
           Console.WriteLine("Element position = " & intCounter)
       Next intCounter
  End Sub

End class


 </source>


Array.GetUpperBound

<source lang="vbnet"> Module Tester

  Sub Main()
     Dim i, j As Integer
     " create rectangular two-dimensional array
     Dim array1 As Integer(,)
     array1 = New Integer(,) {{1, 2, 3}, {4, 5, 6}}
     " create jagged two-dimensional array
     Dim array2 As Integer()() = New Integer(2)() {}
     array2(0) = New Integer() {1, 2}
     array2(1) = New Integer() {3}
     array2(2) = New Integer() {4, 5, 6}
     For i = 0 To array1.GetUpperBound(0)
        For j = 0 To array1.GetUpperBound(1)
           Console.Write(array1(i, j) & "  ")
        Next
        Console.WriteLine("")
     Next
     For i = 0 To array2.GetUpperBound(0)
        For j = 0 To array2(i).GetUpperBound(0)
           Console.WriteLine(array2(i)(j) & "  ")
        Next
        Console.WriteLine("")
     Next
  End Sub 

End Module


 </source>


Array.GetValue

<source lang="vbnet"> Imports System

Public Class MainClass

  Shared Sub Main()
       Dim anArray As Array
       Dim l(0) As Integer
       Dim lowerBounds(0) As Integer
       l(0) = 7
       lowerBounds(0) = 1995
       "creates an array of objects numbered 1995 - 2002
       anArray = Array.CreateInstance(GetType(System.Int32), l, lowerBounds)
       anArray.SetValue(200000, 1995)
       anArray.SetValue(1000000, 2001)
       Console.WriteLine("The entry in position 1995 is " & _
       (anArray.GetValue(1995).ToString))
       Console.WriteLine("The entry in position 2002 is " & _
       (anArray.GetValue(2001).ToString))
  End Sub 

End Class


 </source>


Array.IndexOf

<source lang="vbnet"> Imports System Public Class MainClass

   Shared Sub Main(ByVal args As String())
       Dim values(10) As Integer
       For i As Integer = 0 To 10
           values(i) = i
       Next i
       Console.WriteLine(Array.IndexOf(values, 6).ToString)
       Console.WriteLine(Array.LastIndexOf(values, 3).ToString)
   End Sub

End Class


 </source>


Array.LastIndexOf

<source lang="vbnet"> Imports System Public Class MainClass

   Shared Sub Main(ByVal args As String())
       Dim values As Array = _
           Array.CreateInstance(GetType(Integer), 11)
       For i As Integer = 0 To 10
           values.SetValue(i, i)
       Next i
       Console.WriteLine(Array.IndexOf(values, 6).ToString)
       Console.WriteLine(Array.LastIndexOf(values, 3).ToString)
   End Sub

End Class


 </source>


Array.Length

<source lang="vbnet"> Module Tester

  Sub Main()
     Dim i As Integer
     Dim array As Integer()    " declare array variable
     array = New Integer(9) {} " allocate memory for array
     Console.WriteLine("Subscript " & vbTab & "Value")
     For i = 0 To array.GetUpperBound(0)
        Console.WriteLine( i & vbTab & array(i))
     Next
     Console.WriteLine("The array contains " & _
        array.Length & " elements.")
  End Sub 
  

End Module


 </source>


Array.Reverse

<source lang="vbnet"> Imports System Public Class MainClass

   Shared Sub Main()
       Dim myArray As [String](  ) = {"W", "i", "A", "t"}
       Console.WriteLine("Display myArray...")
       DisplayArray(myArray)
       Console.WriteLine("Reverse and display myArray...")
       Array.Reverse(myArray)
       DisplayArray(myArray)
       Dim myOtherArray As [String](  ) = _
         {"e", "l", "s", "T", "o", "B", "f", "v"}
       Console.WriteLine("Display myOtherArray...")
       DisplayArray(myOtherArray)
       Console.WriteLine("Sort and display myOtherArray...")
       Array.Sort(myOtherArray)
       DisplayArray(myOtherArray)
   End Sub
   Public Shared Sub DisplayArray(ByVal theArray(  ) As Object)
       Dim obj As Object
       For Each obj In theArray
           Console.WriteLine("Value: {0}", obj)
       Next obj
       Console.WriteLine(ControlChars.Lf)
   End Sub "DisplayArray

End Class


 </source>


Array.SetValue

<source lang="vbnet"> Imports System

Public Class MainClass

  Shared Sub Main()
       Dim anArray As Array
       Dim l(0) As Integer
       Dim lowerBounds(0) As Integer
       l(0) = 7
       lowerBounds(0) = 1995
       "creates an array of objects numbered 1995 - 2002
       anArray = Array.CreateInstance(GetType(System.Int32), l, lowerBounds)
       anArray.SetValue(200000, 1995)
       anArray.SetValue(1000000, 2001)
       Console.WriteLine("The entry in position 1995 is " & _
       (anArray.GetValue(1995).ToString))
       Console.WriteLine("The entry in position 2002 is " & _
       (anArray.GetValue(2001).ToString))
  End Sub 

End Class


 </source>


Array.Sort

<source lang="vbnet">

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


 </source>