【问题标题】:Convert a small C++ code snippet to a C# code将一个小的 C++ 代码片段转换为 C# 代码
【发布时间】:2015-05-31 10:54:46
【问题描述】:

我得到了这段用 C++ 编写的代码:

static double e[66];
if (!e[0]) {
   // Do Something
}

它不会在 Visual Studio 中编译,说 Operator '!'不能应用于“double”类型的操作数。

用 C# 编写它的适当方法是什么?

【问题讨论】:

  • !applied 应用于 ``double` 值的实际含义是什么?等于0.0??
  • !用于布尔而不是双打,解释你想要做什么
  • stackoverflow.com/questions/9833790/…,同样适用于double
  • 在 c 中,零为假,其他为真。所以 c# 中的等价物是 if(e[0] != 0)
  • 为什么你们对我的问题投了反对票,然后不经意地问了一些更愚蠢的问题?无论如何,对于那些不那么沮丧的人;我不知道这个 if 语句应该检查什么。实际上,我即将找出是否转换代码。谢谢

标签: c# c++


【解决方案1】:

C# 不将布尔值视为可用作真/假语句的 int/double。

你必须写这样的东西:

if(e[0] == 0.0) ..

此外,您不能像 C++ 中那样拥有局部静态变量。可以声明为类成员,在静态构造函数中初始化,然后使用。

【讨论】:

  • 将“!=”更改为“==”,这是正确的(请记住,使用的原始 C++ 是“if (!e[0])” - 注意 '!' 运算符)。
  • 你是对的,戴夫.. 我一时糊涂了。谢谢!
猜你喜欢
  • 2010-11-19
  • 1970-01-01
  • 1970-01-01
  • 2012-01-25
  • 1970-01-01
  • 2014-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多