forked from dotnet/docs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patharrayclone.vb
76 lines (59 loc) · 3.09 KB
/
arrayclone.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
' The following code example clones a CultureInfo array and demonstrates the behavior of a shallow copy.
' <Snippet1>
Imports System.Globalization
Public Class SamplesArray
Public Shared Sub Main()
' Create and initialize a new CultureInfo array.
Dim ci0 As New CultureInfo("ar-SA", False)
Dim ci1 As New CultureInfo("en-US", False)
Dim ci2 As New CultureInfo("fr-FR", False)
Dim ci3 As New CultureInfo("ja-JP", False)
Dim arrCI() As CultureInfo = {ci0, ci1, ci2, ci3}
' Create a clone of the CultureInfo array.
Dim arrCIClone As CultureInfo() = CType(arrCI.Clone(), CultureInfo())
' Replace an element in the clone array.
Dim ci4 As New CultureInfo("th-TH", False)
arrCIClone(0) = ci4
' Display the contents of the original array.
Console.WriteLine("The original array contains the following values:")
PrintIndexAndValues(arrCI)
' Display the contents of the clone array.
Console.WriteLine("The clone array contains the following values:")
PrintIndexAndValues(arrCIClone)
' Display the DateTimeFormatInfo.DateSeparator for the fourth element in both arrays.
Console.WriteLine("Before changes to the clone:")
Console.WriteLine(" Original: The DateTimeFormatInfo.DateSeparator for {0} is {1}.", arrCI(3).Name, arrCI(3).DateTimeFormat.DateSeparator)
Console.WriteLine(" Clone: The DateTimeFormatInfo.DateSeparator for {0} is {1}.", arrCIClone(3).Name, arrCIClone(3).DateTimeFormat.DateSeparator)
' Replace the DateTimeFormatInfo.DateSeparator for the fourth element in the clone array.
arrCIClone(3).DateTimeFormat.DateSeparator = "-"
' Display the DateTimeFormatInfo.DateSeparator for the fourth element in both arrays.
Console.WriteLine("After changes to the clone:")
Console.WriteLine(" Original: The DateTimeFormatInfo.DateSeparator for {0} is {1}.", arrCI(3).Name, arrCI(3).DateTimeFormat.DateSeparator)
Console.WriteLine(" Clone: The DateTimeFormatInfo.DateSeparator for {0} is {1}.", arrCIClone(3).Name, arrCIClone(3).DateTimeFormat.DateSeparator)
End Sub
Public Shared Sub PrintIndexAndValues(myArray As Array)
Dim i As Integer
For i = myArray.GetLowerBound(0) To myArray.GetUpperBound(0)
Console.WriteLine(vbTab + "[{0}]:" + vbTab + "{1}", i, myArray.GetValue(i))
Next i
End Sub
End Class
'This code produces the following output.
'
'The original array contains the following values:
' [0]: ar-SA
' [1]: en-US
' [2]: fr-FR
' [3]: ja-JP
'The clone array contains the following values:
' [0]: th-TH
' [1]: en-US
' [2]: fr-FR
' [3]: ja-JP
'Before changes to the clone:
' Original: The DateTimeFormatInfo.DateSeparator for ja-JP is /.
' Clone: The DateTimeFormatInfo.DateSeparator for ja-JP is /.
'After changes to the clone:
' Original: The DateTimeFormatInfo.DateSeparator for ja-JP is -.
' Clone: The DateTimeFormatInfo.DateSeparator for ja-JP is -.
' </Snippet1>