python - 没有“As”子句的变量声明;假定的对象类型
问题描述
Dim myArray = New Integer() {1,2,1,3,3,1,2,1,5,1}
Public Sub Main()
Dim mayor As Integer = 0
Dim i As Integer = 0
Do While (i < myArray.Length)
If ((myArray(i) < 1) _
OrElse (myArray(i) > 100)) Then
Console.WriteLine("enteros fuera del rango de 1 a 100")
Exit For
End If
If (i > mayor) Then
mayor = myArray(i)
End If
i = (i + 1)
Loop
If (mayor > 0) Then
Console.WriteLine(mayor)
End If
End Sub
我正在尝试运行此代码,但出现此错误变量声明没有“As”子句;假定的对象类型。
解决方案
该myArray
变量是一个字段,即成员变量。只有局部变量才能使用类型推断。您必须指定字段的类型。
在方法中声明局部变量时,编译器必须能够确定该变量的类型。这通常意味着使用一个As
子句来明确指定它:
Dim var As SomeType
如果您在声明它的位置初始化变量:
Dim var As SomeType = someValue
然后,假设您有Option Infer On
(默认情况下),您可以省略该As
子句并从初始化表达式中推断出变量的类型:
Dim var = someValue
在这种情况下,var
将与someValue
. 你需要一个子句的唯一原因As
是如果你想var
成为一个不同的类型,例如你想要一个Control
变量但你用 a 初始化它,Button
或者你想要 anIEnumerable(Of T)
但你用 a 初始化List(Of T)
。
我在这里演示的称为“类型推断”,但它仅对局部变量有效,即在方法中声明的变量。字段,即在变量之外声明的变量,必须使用As
子句显式键入。在你的情况下,使用这个:
Private myArray As Integer() = {1,2,1,3,3,1,2,1,5,1}
请注意显式访问修饰符 ( Private
)、As
子句和文字数组的使用。
推荐阅读
- python - AWS SNS 同时发送多封电子邮件
- php - 对如何将变量传递给包含受保护函数的类的包含感到困惑
- javascript - React JSX返回TypeError:无法读取未定义的属性
- xamarin.forms - Xamarin 通过区域导航会在每个 requestNavigate 中创建一个新的视图模型
- python - 如何使用 np.gradient 模拟 cv2.Sobel?
- javascript - 无法检查变量是否在打字稿中未定义
- saxon-js - 如何为结果文档指定输出文件以避免 URL required 错误
- azure - 使用 azcopy 进行并行复制
- python - 计算列表中不包括某些元素的元素数
- laravel - 在 laravel 分页 api 响应中更新域 url