C# if语句中的plusequal运算符 int-toAdd=0; 列表=新列表{1500、1500、1200、1200、1100、1100、1100、1100、1000、1000、900、900、600、600、600、600、400、400、400、400}; for(int i=0;i”,我不认为VB.NET支持你正在尝试做的事情。考虑 x= y= z 。它不会评估为设置y= z,然后设置x= y,将它作为“代码> > x,等于y是否等于z < /代码>的结果。我认为它期望+=是整个语句,而不是子表达式的一部分。it’it’’it’’it’’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it Dim toAdd As Integer = 0 Dim list As New List(Of Integer)() From {1500, 1500, 1200, 1200, 1100, 1100, 1100, 1100, 1000, 1000, 900, 900, 600, 600, 600, 600, 400, 400, 400, 400} For i As Integer = 0 To list.Count - 1 toAdd = toAdd + list(i) If toAdd <= (3000 - list(i)) Then 将i作为整数=0列出。计数-1 toAdd=toAdd+列表(i) 如果添加“< p>”,我不认为VB.NET支持你正在尝试做的事情。考虑 x= y= z 。它不会评估为设置y= z,然后设置x= y,将它作为“代码> > x,等于y是否等于z < /代码>的结果。我认为它期望+=是整个语句,而不是子表达式的一部分。it’it’’it’’it’’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’ Dim toAdd As Integer = 0 Dim list As New List(Of Integer)() From {1500, 1500, 1200, 1200, 1100, 1100, 1100, 1100, 1000, 1000, 900, 900, 600, 600, 600, 600, 400, 400, 400, 400} For i As Integer = 0 To list.Count - 1 toAdd = toAdd + list(i) If toAdd <= (3000 - list(i)) Then 将i作为整数=0列出。计数-1 toAdd=toAdd+列表(i) 如果要添加

C# if语句中的plusequal运算符 int-toAdd=0; 列表=新列表{1500、1500、1200、1200、1100、1100、1100、1100、1000、1000、900、900、600、600、600、600、400、400、400、400}; for(int i=0;i”,我不认为VB.NET支持你正在尝试做的事情。考虑 x= y= z 。它不会评估为设置y= z,然后设置x= y,将它作为“代码> > x,等于y是否等于z < /代码>的结果。我认为它期望+=是整个语句,而不是子表达式的一部分。it’it’’it’’it’’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it Dim toAdd As Integer = 0 Dim list As New List(Of Integer)() From {1500, 1500, 1200, 1200, 1100, 1100, 1100, 1100, 1000, 1000, 900, 900, 600, 600, 600, 600, 400, 400, 400, 400} For i As Integer = 0 To list.Count - 1 toAdd = toAdd + list(i) If toAdd <= (3000 - list(i)) Then 将i作为整数=0列出。计数-1 toAdd=toAdd+列表(i) 如果添加“< p>”,我不认为VB.NET支持你正在尝试做的事情。考虑 x= y= z 。它不会评估为设置y= z,然后设置x= y,将它作为“代码> > x,等于y是否等于z < /代码>的结果。我认为它期望+=是整个语句,而不是子表达式的一部分。it’it’’it’’it’’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’ Dim toAdd As Integer = 0 Dim list As New List(Of Integer)() From {1500, 1500, 1200, 1200, 1100, 1100, 1100, 1100, 1000, 1000, 900, 900, 600, 600, 600, 600, 400, 400, 400, 400} For i As Integer = 0 To list.Count - 1 toAdd = toAdd + list(i) If toAdd <= (3000 - list(i)) Then 将i作为整数=0列出。计数-1 toAdd=toAdd+列表(i) 如果要添加,c#,vb.net,C#,Vb.net,这应该让你做你需要做的事情 Dim toAdd As Integer = 0 Dim list As New List(Of Integer)() From {1500, 1500, 1200, 1200, 1100, 1100, 1100, 1100, 1000, 1000, 900, 900, 600, 600, 600, 600, 400, 400, 400, 400} For i As Integer = 0 To list.Count - 1 If (toAdd += lis

这应该让你做你需要做的事情

Dim toAdd As Integer = 0
Dim list As New List(Of Integer)() From {1500, 1500, 1200, 1200, 1100, 1100, 1100, 1100, 1000, 1000, 900, 900, 600, 600, 600, 600, 400, 400, 400, 400}

For i As Integer = 0 To list.Count - 1
    If (toAdd += list(i)) <= (3000 - list(i)) Then
Dim toAdd As Integer=0
Dim list作为新列表(整数的)()从{1500、1500、1200、1200、1100、1100、1100、1100、1000、1000、900、900、600、600、600、600、400、400、400、400}
对于i作为整数=0的列表。计数-1
toAdd=toAdd+列表(i)

如果添加,这应该让你做你需要做的事情

Dim toAdd As Integer = 0
Dim list As New List(Of Integer)() From {1500, 1500, 1200, 1200, 1100, 1100, 1100, 1100, 1000, 1000, 900, 900, 600, 600, 600, 600, 400, 400, 400, 400}

For i As Integer = 0 To list.Count - 1
    If (toAdd += list(i)) <= (3000 - list(i)) Then
Dim toAdd As Integer=0
Dim list作为新列表(整数的)()从{1500、1500、1200、1200、1100、1100、1100、1100、1000、1000、900、900、600、600、600、600、400、400、400、400}
对于i作为整数=0的列表。计数-1
toAdd=toAdd+列表(i)

如果添加“< p>”,我不认为VB.NET支持你正在尝试做的事情。考虑<代码> x= y= z 。它不会评估为<代码>设置y= z,然后设置x= y,将它作为“代码> > x,等于y是否等于z < /代码>的结果。我认为它期望+=是整个语句,而不是子表达式的一部分。it’it’’it’’it’’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it

Dim toAdd As Integer = 0
Dim list As New List(Of Integer)() From {1500, 1500, 1200, 1200, 1100, 1100, 1100, 1100, 1000, 1000, 900, 900, 600, 600, 600, 600, 400, 400, 400, 400}

For i As Integer = 0 To list.Count - 1
    toAdd = toAdd + list(i)
    If toAdd <= (3000 - list(i)) Then
将i作为整数=0列出。计数-1
toAdd=toAdd+列表(i)

如果添加“< p>”,我不认为VB.NET支持你正在尝试做的事情。考虑<代码> x= y= z 。它不会评估为<代码>设置y= z,然后设置x= y,将它作为“代码> > x,等于y是否等于z < /代码>的结果。我认为它期望+=是整个语句,而不是子表达式的一部分。it’it’’it’’it’’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’it’

Dim toAdd As Integer = 0
Dim list As New List(Of Integer)() From {1500, 1500, 1200, 1200, 1100, 1100, 1100, 1100, 1000, 1000, 900, 900, 600, 600, 600, 600, 400, 400, 400, 400}

For i As Integer = 0 To list.Count - 1
    toAdd = toAdd + list(i)
    If toAdd <= (3000 - list(i)) Then
将i作为整数=0列出。计数-1
toAdd=toAdd+列表(i)

如果要添加,则无法在Visual Basic中执行此操作

在C#中,赋值被视为表达式。在VB中,赋值是语句,但不是表达式。因此,此语句在C#中有效,但在VB中无效(即使删除分号):


或者,换句话说,C#中的赋值表达式返回值。在VB中,赋值语句不返回值。

在Visual Basic中不能这样做

在C#中,赋值被视为表达式。在VB中,赋值是语句,但不是表达式。因此,此语句在C#中有效,但在VB中无效(即使删除分号):



或者,换句话说,C#中的赋值表达式返回一个值。在VB中,赋值语句不返回值。

当你说“它神奇地工作”时你的意思是它可以编译吗?在这两种情况下,你都可以在if之前进行增量运算,这样的IMHO无论如何都会更可读。我不确定VB为什么不工作,但我会在if语句中避免副作用,并根据这一点使代码更明确,这是一样的。这似乎是相关的。当你说“它神奇地工作”时你的意思是它可以编译吗?在这两种情况下,你都可以在if之前进行增量运算,这样的IMHO无论如何都会更可读。我不确定VB为什么不工作,但我会在if语句中避免副作用,并使代码更显式。根据这一点,这是一样的。这似乎是相关的。我不确定你是第一个可以工作的示例nce VB.Net使用
=
进行赋值和比较,而C则使用
=
进行比较。您的第一个示例没有使用选项strict on进行编译,如果我将其关闭,代码将无法执行我想要的操作,这肯定是因为我面临的问题。是的,你们是对的。我通常生活在C世界,我会编辑它。。thanks@juharr是正确的,VB使用
=
作为比较器和赋值运算符。我不确定您的第一个示例是否有效,因为VB.Net使用
=
进行赋值和比较,而C使用
=
进行比较。您的第一个示例没有使用选项strict on编译,如果我打开代码外的东西做不到我想要的,我确信这是因为我面临的问题。是的,你们是对的。我通常生活在c世界,我会编辑它。。thanks@juharr是正确的,VB使用
=
作为比较器以及赋值运算符,在大多数其他语言中,如果((x=y+1)可以使用
if是的,我现在明白了,我必须将+=运算符从if语句中分离出来,我已经尝试了很多方法,但vb不允许…谢谢。我不知道“大多数其他语言”是否支持它。你可能是指“在C派生语言中”它可能构成了当今流行的大多数语言,但只占现存所有计算机语言的一小部分是的,我现在明白了,我必须将+=运算符从if语句中分离出来,我已经尝试了很多方法,但vb不允许…谢谢。我不知道“大多数其他语言”是否支持它。你可能是指“在C派生语言中”这可能构成了当今流行的大多数语言,但只占现存所有计算机语言的一小部分。感谢你的简单解释,我想我从vb转到c#还太早,无法理解它。
a=b+=12;//用c#工作,但不是用vb
当然不是你留下的“;”在其中不会用vb编译…)那些#@$%分号。感谢您的简单解释,我想我从vb转到c#还太早,无法理解它。
a=b+=12;//在c#中工作,但在vb中不工作
当然不是您留下的“;”在其中无法在vb中编译…:)那些#@$%分号。
a = b += 12;  // works in C#, but not in VB