ブール値 (True) の乗算に依存したり、計算で使用したりすることはお勧めできません。また、VB.NET では True が 1 やその他の値ではなく -1 であることにも気付きました。
Boolean True 値で乗算し、それを 1 の整数として扱いたい (または -1 もそうする) 多くの状況があります。計算で Boolean True 値を使用するための推奨される方法は何ですか。
ブール値 (True) の乗算に依存したり、計算で使用したりすることはお勧めできません。また、VB.NET では True が 1 やその他の値ではなく -1 であることにも気付きました。
Boolean True 値で乗算し、それを 1 の整数として扱いたい (または -1 もそうする) 多くの状況があります。計算で Boolean True 値を使用するための推奨される方法は何ですか。
の値に基づいて計算を行う必要がある場合はBoolean
、C# で三項演算子を使用するか、IF
VB.NET で次の式を使用します。
Res = SomeValue * If(MyBoolean, 1, 0) + SomeOtherValue
このような式は読者に意図を明確に伝え、ブール値に固有の数値を割り当てる言語 (C や C++ など) でも可読性を向上させます。
bool
a を値0
またはとして使用したい場合は、それぞれおよび1
に対応し、次のようにします。false
true
bool b = true;
double x = 3.14;
double y = (b ? 1 : 0) * x;
true が 1 か -1 かを推測する必要がないように、三項演算子を使用できます。
int product = someValue * (myBool ? 1 : 0)
これにより、他の値を true および false に定義することもできます。
これに広く依存している場合は、true/false に基づいて、選択した数値を返す bool に拡張メソッドを配置することをお勧めします。
計算にブール値を使用する理由がわかりません。これらは算術演算用ではありません。
それが最善の方法かどうかはわかりませんが、これを行うことができます:-
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.
}