手術をしたいAND
。私の入力は2つのオブジェクトです。「true」のような文字列でも、「1==1」のような式でもかまいません。演算子を使用する&&
と、 String が有効な として認識されなかったという例外が発生しますboolean
。
私を助けてください。
return Convert.ToBoolean(obj[0]) && Convert.ToBoolean(obj[1]);
前回の投稿がわかりにくかったことをお詫びします。
手術をしたいAND
。私の入力は2つのオブジェクトです。「true」のような文字列でも、「1==1」のような式でもかまいません。演算子を使用する&&
と、 String が有効な として認識されなかったという例外が発生しますboolean
。
私を助けてください。
return Convert.ToBoolean(obj[0]) && Convert.ToBoolean(obj[1]);
前回の投稿がわかりにくかったことをお詫びします。
メソッドを a に変換"1==1"
することboolean
はできませんConvert.ToBoolean
。true
文字列とを変換するだけfalse
です。
式評価器を自分で作成するか、ある種のライブラリを使用して文字列をブール値に解析する必要があります (たとえばFleeなど)。
以下のものは動作します
Convert.ToBoolean(true) && Convert.ToBoolean(1==1)
なぜ文字列を使用するのですか? 変換はコードを評価しません。提供されたデータを bool に変換できるかどうかをチェックし、可能であればそうします。
関数が機能している場合、関数は常に true を返します。これは、1 が常に 1 に等しく、true が常に true であるためです。
C# は強力な型付け言語であるため、これはほぼ不可能です。あなたがやろうとしているのは、JS のような弱い型の言語です。"1==1"
C# ではなく JS で機能します。機能させるために引用符を削除します(意味がないため、最初のオペランドを削除することもできます):
return ( 1 == 1 );