本文整理汇总了VB.NET中System.ArraySegment<T>结构体的典型用法代码示例。如果您正苦于以下问题:VB.NET ArraySegment<T>结构体的具体用法?VB.NET ArraySegment<T>怎么用?VB.NET ArraySegment<T>使用的例子?那么, 这里精选的结构体代码示例或许可以为您提供帮助。
在下文中一共展示了ArraySegment<T>结构体的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的VB.NET代码示例。
示例1: SamplesArray
Public Class SamplesArray
Public Shared Sub Main()
' Create and initialize a new string array.
Dim myArr As String() = {"The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"}
' Display the initial contents of the array.
Console.WriteLine("The original array initially contains:")
PrintIndexAndValues(myArr)
' Define an array segment that contains the entire array.
Dim myArrSegAll As New ArraySegment(Of String)(myArr)
' Display the contents of the ArraySegment.
Console.WriteLine("The first array segment (with all the array's elements) contains:")
PrintIndexAndValues(myArrSegAll)
' Define an array segment that contains the middle five values of the array.
Dim myArrSegMid As New ArraySegment(Of String)(myArr, 2, 5)
' Display the contents of the ArraySegment.
Console.WriteLine("The second array segment (with the middle five elements) contains:")
PrintIndexAndValues(myArrSegMid)
' Modify the fourth element of the first array segment myArrSegAll.
myArrSegAll.Array(3) = "LION"
' Display the contents of the second array segment myArrSegMid.
' Note that the value of its second element also changed.
Console.WriteLine("After the first array segment is modified, the second array segment now contains:")
PrintIndexAndValues(myArrSegMid)
End Sub
Public Shared Sub PrintIndexAndValues(arrSeg As ArraySegment(Of String))
Dim i As Integer
For i = arrSeg.Offset To (arrSeg.Offset + arrSeg.Count - 1)
Console.WriteLine(" [{0}] : {1}", i, arrSeg.Array(i))
Next i
Console.WriteLine()
End Sub
Public Shared Sub PrintIndexAndValues(myArr as String())
Dim i As Integer
For i = 0 To (myArr.Length - 1)
Console.WriteLine(" [{0}] : {1}", i, myArr(i))
Next i
Console.WriteLine()
End Sub
End Class
输出:
The original array initially contains: [0] : The [1] : quick [2] : brown [3] : fox [4] : jumps [5] : over [6] : the [7] : lazy [8] : dog The first array segment (with all the array's elements) contains: [0] : The [1] : quick [2] : brown [3] : fox [4] : jumps [5] : over [6] : the [7] : lazy [8] : dog The second array segment (with the middle five elements) contains: [2] : brown [3] : fox [4] : jumps [5] : over [6] : the After the first array segment is modified, the second array segment now contains: [2] : brown [3] : LION [4] : jumps [5] : over [6] : the
示例2: Example
' 导入命名空间
Imports System.Collections.Generic
Imports System.Threading.Tasks
Module Example
Private Const SegmentSize As Integer = 10
Public Sub Main()
Dim tasks As New List(Of Task)
' Create array.
Dim arr(49) As Integer
For ctr As Integer = 0 To arr.GetUpperBound(0)
arr(ctr) = ctr + 1
Next
' Handle array in segments of 10.
For ctr As Integer = 1 To CInt(Math.Ceiling(arr.Length / segmentSize))
Dim multiplier As Integer = ctr
Dim elements As Integer = If((multiplier - 1) * 10 + segmentSize > arr.Length,
arr.Length - (multiplier - 1) * 10,
segmentSize)
Dim segment As New ArraySegment(Of Integer)(arr, (ctr - 1) * 10, elements)
tasks.Add(Task.Run( Sub()
Dim list As IList(Of Integer) = CType(segment, IList(Of Integer))
For index As Integer = 0 To list.Count - 1
list(index) = list(index) * multiplier
Next
End Sub ))
Next
Try
Task.WaitAll(tasks.ToArray())
Dim elementsShown As Integer = 0
For Each value In arr
Console.Write("{0,3} ", value)
elementsShown += 1
If elementsShown Mod 18 = 0 Then Console.WriteLine()
Next
Catch e As AggregateException
Console.WriteLine("Errors occurred when working with the array:")
For Each inner As Exception In e.InnerExceptions
Console.WriteLine("{0}: {1}", inner.GetType().Name, inner.Message)
Next
End Try
End Sub
End Module
输出:
1 2 3 4 5 6 7 8 9 10 22 24 26 28 30 32 34 36 38 40 63 66 69 72 75 78 81 84 87 90 124 128 132 136 140 144 148 152 156 160 205 210 215 220 225 230 235 240 245 250
示例3: Example
' 导入命名空间
Imports System.Collections.Generic
Module Example
Public Sub Main()
Dim names() As String = { "Adam", "Bruce", "Charles", "Daniel",
"Ebenezer", "Francis", "Gilbert",
"Henry", "Irving", "John", "Karl",
"Lucian", "Michael" }
Dim partNames As New ArraySegment(Of String)(names, 2, 5)
' Cast the ArraySegment object to an IList<String> and enumerate it.
Dim list = CType(partNames, IList(Of String))
For ctr As Integer = 0 To list.Count - 1
Console.WriteLine(list(ctr))
Next
End Sub
End Module
输出:
Charles Daniel Ebenezer Francis Gilbert