Vb.net 当drawing.point位于内部时,Arraylist对x和y的访问权限
我想访问包含点的arraylist。下面的示例适用于选项“严格关闭”。但是,我怎样才能用正确的方法在option strict on上实现这一点呢? 非常感谢Vb.net 当drawing.point位于内部时,Arraylist对x和y的访问权限,vb.net,arraylist,option-strict,Vb.net,Arraylist,Option Strict,我想访问包含点的arraylist。下面的示例适用于选项“严格关闭”。但是,我怎样才能用正确的方法在option strict on上实现这一点呢? 非常感谢 Option Strict Off Imports System.Drawing Module Module2 Sub Main() Dim ArrayList As New ArrayList Dim R As New Random For i = 0 To 9
Option Strict Off
Imports System.Drawing
Module Module2
Sub Main()
Dim ArrayList As New ArrayList
Dim R As New Random
For i = 0 To 9
ArrayList.Add(New Point(R.Next(50), R.Next(50)))
Next i
Dim firstY As Integer = ArrayList(0).Y
Dim firstX As Integer = ArrayList(0).X
End Sub
End Module
这就是解决方案:
Dim p As Point = CType(ArrayList(0), Point)
Dim x As Integer = p.X
Dim y As Integer = p.Y
您可以考虑使用泛型集合(如<代码>列表(t)而不是<代码> ARARYLIST//C> >,类型安全:
Imports System.Collections.Generic
Imports System.Drawing
Module Module2
Sub Main()
Dim Points As New List(Of Point)
Dim R As New Random
For i = 0 To 9
Points.Add(New Point(R.Next(50), R.Next(50)))
Next i
Dim firstY As Integer = Points(0).Y
Dim firstX As Integer = Points(0).X
End Sub
End Module
将变暗点用作(点的)新列表,而不是ArrayList。然后点击积分。添加新的积分(R.Next(50),R.Next(50))好的,谢谢你的提示-我会试试这个ArrayList大约在20年前就过时了。