Vb.net 当drawing.point位于内部时,Arraylist对x和y的访问权限

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

我想访问包含点的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
            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年前就过时了。