C# 您将如何在VB.net中编写此代码?我不知道';t获取索引++;

C# 您将如何在VB.net中编写此代码?我不知道';t获取索引++;,c#,.net,vb.net,C#,.net,Vb.net,我想这很平常,但我不明白index++做什么。这将如何在VB.net中编写 int index = 0; foreach(String prop in props.Keys) { pSpec.pathSet[index++] = prop; } pSpecs.Add(pSpec); 你必须以这种方式增加它 index =index + 1; 或索引+=1 如果有兴趣,为什么 明白了吗 你必须以这种方式增加它 index =index + 1; 或索引+=1 如果有兴趣,为什么 明

我想这很平常,但我不明白index++做什么。这将如何在VB.net中编写

int index = 0;
foreach(String prop in props.Keys)
{
     pSpec.pathSet[index++] = prop;
}
pSpecs.Add(pSpec);

你必须以这种方式增加它

index =index + 1;
索引+=1

如果有兴趣,为什么

明白了吗


你必须以这种方式增加它

index =index + 1;
索引+=1

如果有兴趣,为什么

明白了吗


递增运算符
(++)
将其操作数递增1。递增运算符可以出现在其操作数之前或之后:


这是相同的
index=index+1

递增运算符
(++)
将其操作数递增1。递增运算符可以出现在其操作数之前或之后:


这是相同的
index=index+1

索引++将索引增加1

我对VB了解不多,但您可以:

index = index + 1

索引++将索引增加1

我对VB了解不多,但您可以:

index = index + 1

这只是一个后期增量。这意味着它将返回其值,然后将其值增加1

pSpec.pathSet[index++] = prop;
在VB.net中,很可能只是:

pSpec.pathSet[index] = prop
index = index + 1 // this would work
index += 1 // this would work too

重要的是要注意,您不能以这种方式进行内联操作(因为您需要前面的值)。

这只是一个后期增量。这意味着它将返回其值,然后将其值增加1

pSpec.pathSet[index++] = prop;
在VB.net中,很可能只是:

pSpec.pathSet[index] = prop
index = index + 1 // this would work
index += 1 // this would work too

需要注意的是,您不能以这种方式内联执行(因为您需要上一个值)。

index++
返回
index
的当前值,然后递增
index
的值

在第一次迭代中,它将返回0作为值,然后该值将增加到1。 在第二次迭代中,它将返回1作为值,然后值将增加到2


“++”操作符在VB中不存在,您必须自己增加它。

index++
返回
index
的当前值,然后增加
index
的值

Dim index As Integer = 0
For Each prop As [String] In props.Keys
    index = index +1
    pSpec.pathSet(index) = prop
Next
pSpecs.Add(pSpec)
在第一次迭代中,它将返回0作为值,然后该值将增加到1。 在第二次迭代中,它将返回1作为值,然后值将增加到2


“++”操作符在VB中不存在,您必须自己增加它。

这就是您要找的吗

Dim index As Integer = 0
For Each prop As [String] In props.Keys
    index = index +1
    pSpec.pathSet(index) = prop
Next
pSpecs.Add(pSpec)
Dim index As Integer = 0
For Each prop As [String] In props.Keys
    pSpec.pathSet(System.Math.Max(System.Threading.Interlocked.Increment(index),index - 1)) = prop
Next
pSpecs.Add(pSpec)

这就是你要找的吗

Dim index As Integer = 0
For Each prop As [String] In props.Keys
    pSpec.pathSet(System.Math.Max(System.Threading.Interlocked.Increment(index),index - 1)) = prop
Next
pSpecs.Add(pSpec)

index++将index的值增加1。该语法在VB.NET中不可用(http://www.knowdotnet.com/articles/paulvick.html)

所以index++相当于index=index+1 您的vb代码应该类似于:

{
 index = index+1
 pSpec.pathSet[index] = prop
}

index++将index的值增加1。该语法在VB.NET中不可用(http://www.knowdotnet.com/articles/paulvick.html)

所以index++相当于index=index+1 您的vb代码应该类似于:

{
 index = index+1
 pSpec.pathSet[index] = prop
}

如前所述,这只是增加值

++在VB.NET中不是有效的运算符,但最接近的可能是:

index += 1

这对于来自VB6的任何人来说都是一个很好的改变,因为之前我们必须始终使用正手
index=index+1

,如前所述,这只是增加值

++在VB.NET中不是有效的运算符,但最接近的可能是:

index += 1

这对于来自VB6的任何人来说都是一个很好的改变,因为之前我们必须始终使用手写的
index=index+1

我不知道VB.net,但index++只会增加index的值,因此您可以将其想象为index=index+1。我不知道VB.net,但index++只会增加index的值,因此可以将其想象为index=index+1。你的意思是写
System.Math.Min(…)
吗?你的代码与问题中的不同。增量应该在作业之后。您已经更改了含义-实际上您创建了一个增量前而不是增量后。答案是正确的,但增量确实需要在作业之后。谢谢你的意思是写
System.Math.Min(…)
吗?你的代码与问题中的不同。增量应该在作业之后。您已经更改了含义-实际上您创建了一个增量前而不是增量后。答案是正确的,但增量确实需要在作业之后。谢谢这将始终位于索引1
index=index++
不会按您的想法执行(请尝试)。应该是
index++
index=index+1
index+=1
你说得对。我以前从未注意到,但我想知道为什么。编辑:我刚刚发现:)。感谢这将始终位于索引1
index=index++
不会做你想做的事(试试看)。应该是
index++
index=index+1
index+=1
你说得对。我以前从未注意到,但我想知道为什么。编辑:我刚刚发现:)。谢谢