如何深入理解任务执行与VB.NET编程对比?

2026-05-08 11:423阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计748个文字,预计阅读时间需要3分钟。

如何深入理解任务执行与VB.NET编程对比?

这是我第一次使用Stack Overflow,我试图理解这段代码的最后一句的含义:Dim label As Label=Me.labels.Item(String.Concat(New Object() { movimiento.Sector1.ID, “-, movimiento.X1, -, movimiento.Y1 }))”

这段代码的目的是创建一个新的Label控件,并将其添加到Form中。具体来说:

1. `Dim label As Label=`:声明了一个名为`label`的新变量,并将其类型指定为`Label`。

2.`Me.labels.Item(...)`:从当前Form的`labels`集合中获取一个Label控件。

3.`String.Concat(New Object() {...})`:使用`String.Concat`方法将多个字符串片段合并成一个字符串。这里使用了`New Object()`来创建一个包含多个元素的数组,元素分别是`movimiento.Sector1.ID`、-、`movimiento.X1`、-、`movimiento.Y1`。

如何深入理解任务执行与VB.NET编程对比?

4.`movimiento.Sector1.ID`、`movimiento.X1`、`movimiento.Y1`:这些变量可能代表某个对象(如`movimiento`)的属性,具体含义需要根据上下文来确定。

5.`Dim`:这是Visual Basic中的声明关键字,用于声明变量。

总结来说,这段代码创建了新的`Label`控件,并将其设置为Form中`labels`集合中对应于特定字符串索引的Label控件。这个字符串索引由`movimiento.Sector1.ID`、`movimiento.X1`和`movimiento.Y1`的值组成,并通过连接符号-分隔。

这是我第一次使用Stack Overflow,我试图理解在这段代码的最后一行中’=’的含义:

Dim label As Label = Me.labels.Item(String.Concat(New Object() { movimiento.Sector1.ID, "-", movimiento.X1, "-", movimiento.Y1 })) Dim dictionary As Dictionary(Of Label, Integer) Dim label3 As Label dictionary = Me.demandas2.Item(label3 = label) = (dictionary.Item(label3) - 1)

欢迎任何形式的帮助,谢谢!

等号(=)用于VB.NET中两个完全不同的运算符.它用作赋值运算符以及相等测试运算符.角色评估的运算符取决于上下文.所以,例如,在这个例子中:

Dim x As Integer = 1 Dim y As Integer = 2 Dim z As Integer = x = y

您可能会认为,与其他语言(如C#)一样,执行该代码后,x,y和z都等于2.但是,VB将第二个等号视为等式测试运算符.因此,实际上,它正在这样做:

If x = y Then z = True Else z = False End If

但是,您会注意到我们正在尝试为整数变量分配一个布尔值.如果您有Option Strict On(如您所愿),则不允许您这样做.如果这真的是你想要做的,那么它会迫使你把它转换成一个整数,这会让它更明显:

z = CInt(x = y)

然而,它仍然令人困惑,因此通常情况下,这种事情在VB.NET中是不鼓励的.所以,我怀疑如果打开Option Strict,你发布的代码甚至都不会编译.但是,这正是它实际上要做的事情:

Dim temp1 As Boolean = (label3 = label) ' Evaluates to False Dim temp2 As Boolean = (Me.demandas2.Item(temp1) = (dictionary.Item(label3) - 1)) ' Likely evaluates to False dictionary = temp2 ' Couldn't possibly be a valid assignment

本文共计748个文字,预计阅读时间需要3分钟。

如何深入理解任务执行与VB.NET编程对比?

这是我第一次使用Stack Overflow,我试图理解这段代码的最后一句的含义:Dim label As Label=Me.labels.Item(String.Concat(New Object() { movimiento.Sector1.ID, “-, movimiento.X1, -, movimiento.Y1 }))”

这段代码的目的是创建一个新的Label控件,并将其添加到Form中。具体来说:

1. `Dim label As Label=`:声明了一个名为`label`的新变量,并将其类型指定为`Label`。

2.`Me.labels.Item(...)`:从当前Form的`labels`集合中获取一个Label控件。

3.`String.Concat(New Object() {...})`:使用`String.Concat`方法将多个字符串片段合并成一个字符串。这里使用了`New Object()`来创建一个包含多个元素的数组,元素分别是`movimiento.Sector1.ID`、-、`movimiento.X1`、-、`movimiento.Y1`。

如何深入理解任务执行与VB.NET编程对比?

4.`movimiento.Sector1.ID`、`movimiento.X1`、`movimiento.Y1`:这些变量可能代表某个对象(如`movimiento`)的属性,具体含义需要根据上下文来确定。

5.`Dim`:这是Visual Basic中的声明关键字,用于声明变量。

总结来说,这段代码创建了新的`Label`控件,并将其设置为Form中`labels`集合中对应于特定字符串索引的Label控件。这个字符串索引由`movimiento.Sector1.ID`、`movimiento.X1`和`movimiento.Y1`的值组成,并通过连接符号-分隔。

这是我第一次使用Stack Overflow,我试图理解在这段代码的最后一行中’=’的含义:

Dim label As Label = Me.labels.Item(String.Concat(New Object() { movimiento.Sector1.ID, "-", movimiento.X1, "-", movimiento.Y1 })) Dim dictionary As Dictionary(Of Label, Integer) Dim label3 As Label dictionary = Me.demandas2.Item(label3 = label) = (dictionary.Item(label3) - 1)

欢迎任何形式的帮助,谢谢!

等号(=)用于VB.NET中两个完全不同的运算符.它用作赋值运算符以及相等测试运算符.角色评估的运算符取决于上下文.所以,例如,在这个例子中:

Dim x As Integer = 1 Dim y As Integer = 2 Dim z As Integer = x = y

您可能会认为,与其他语言(如C#)一样,执行该代码后,x,y和z都等于2.但是,VB将第二个等号视为等式测试运算符.因此,实际上,它正在这样做:

If x = y Then z = True Else z = False End If

但是,您会注意到我们正在尝试为整数变量分配一个布尔值.如果您有Option Strict On(如您所愿),则不允许您这样做.如果这真的是你想要做的,那么它会迫使你把它转换成一个整数,这会让它更明显:

z = CInt(x = y)

然而,它仍然令人困惑,因此通常情况下,这种事情在VB.NET中是不鼓励的.所以,我怀疑如果打开Option Strict,你发布的代码甚至都不会编译.但是,这正是它实际上要做的事情:

Dim temp1 As Boolean = (label3 = label) ' Evaluates to False Dim temp2 As Boolean = (Me.demandas2.Item(temp1) = (dictionary.Item(label3) - 1)) ' Likely evaluates to False dictionary = temp2 ' Couldn't possibly be a valid assignment