Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# VB到C的替换_C#_Vb.net - Fatal编程技术网

C# VB到C的替换

C# VB到C的替换,c#,vb.net,C#,Vb.net,我有一个小问题,但不知怎么解决不了。 我有一个VB代码示例 If(grid(x,y).Used = True)Then grid(x,y).Used = False .... End If 在c中是这样的 if(grid[x,y]."" == false) { grid[x,y]."" = true; } 我找不到一个替代品来代替旧的。 我知道这有点愚蠢,但我就是想不出来。 谢谢您的建议和帮助。我认为您需要正确访问阵列。像这样: if(grid

我有一个小问题,但不知怎么解决不了。 我有一个VB代码示例

If(grid(x,y).Used = True)Then
   grid(x,y).Used = False
   ....
End If  
在c中是这样的

 if(grid[x,y]."" == false)
    {
       grid[x,y]."" = true;
    }
我找不到一个替代品来代替旧的。 我知道这有点愚蠢,但我就是想不出来。
谢谢您的建议和帮助。

我认为您需要正确访问阵列。像这样:

if(grid[x][y].Used == false)
{
    //Do something
}

还请注意,C中检查相等的正确语法要求您使用“==”运算符相等运算符。

网格的数据类型到底是什么?不是答案,但这将是您遇到的下一个问题。在C中,比较器是==而不是=。但就像杰伊说的,它应该有一个属于布尔的属性。你也可以说!据我所知,grid[x,y]不是WinForms面板上的属性,也不是VB.NET中的关键字,而不是检查IffalseUsed。检查原始代码并查看使用的属性来自何处。相等性检查的C的等效=不是=而是=。C代码是无意义的。如果使用反编译器从模糊程序集中恢复源代码,可能会发生这种情况。模糊处理程序使用的标准技巧是用不可打印的控制代码或保证编译错误的字符替换标识符中的字符。就像双引号一样。模糊程序集不会窃取此代码。平等性检查在一起是多余的;你的代码在询问过复杂度,如果它是真的,那么真的等于真的,而你可以简单地问它是真的,当然你是对的,但是我想让op看看,要检查是否相等,你必须使用另一个操作符。当然,在检查布尔值的情况下,这是多余的。