1

ブール値 (True) の乗算に依存したり、計算で使用したりすることはお勧めできません。また、VB.NET では True が 1 やその他の値ではなく -1 であることにも気付きました。

Boolean True 値で乗算し、それを 1 の整数として扱いたい (または -1 もそうする) 多くの状況があります。計算で Boolean True 値を使用するための推奨される方法は何ですか

4

7 に答える 7

4

の値に基づいて計算を行う必要がある場合はBoolean、C# で三項演算子を使用するか、IFVB.NET で次の式を使用します。

Res = SomeValue * If(MyBoolean, 1, 0) + SomeOtherValue

このような式は読者に意図を明確に伝え、ブール値に固有の数値を割り当てる言語 (C や C++ など) でも可読性を向上させます。

于 2013-09-04T19:29:37.707 に答える
1

boola を値0またはとして使用したい場合は、それぞれおよび1に対応し、次のようにします。falsetrue

bool b = true;
double x = 3.14;
double y = (b ? 1 : 0) * x;
于 2013-09-04T19:28:58.343 に答える
1

true が 1 か -1 かを推測する必要がないように、三項演算子を使用できます。

int product = someValue * (myBool ? 1 : 0)

これにより、他の値を true および false に定義することもできます。

于 2013-09-04T19:31:57.333 に答える
0

これに広く依存している場合は、true/false に基づいて、選択した数値を返す bool に拡張メソッドを配置することをお勧めします。

于 2013-09-04T19:27:41.437 に答える
0

計算にブール値を使用する理由がわかりません。これらは算術演算用ではありません。

それが最善の方法かどうかはわかりませんが、これを行うことができます:-

bool b = true;
var x = 0;

if(b == true)
{
  x = -1;  // Use the value of this x anywhere you want provided the scope is clear.
}
于 2013-09-04T19:28:02.020 に答える