59

入力値は 1 または 0 のみで構成されます。この問題は、ステートメントを記述intして解決できます。if else

intを にキャストする方法はありませんbooleanか?

4

4 に答える 4

163
int i = 0;
bool b = Convert.ToBoolean(i);
于 2013-02-27T09:42:55.310 に答える
127

0私は手段を想定していますfalse(これは多くのプログラミング言語の場合です)。つまり、 (言語によっては を使用するtrueものもあれば、 を使用するものもあります。どちらとも互換性があっても害はありません)。したがって、「より良い」とはタイピングが少ないことを意味すると仮定すると、次のように書くことができます。not 0-11

bool boolValue = intValue != 0;
于 2013-02-27T09:43:51.097 に答える
6

冗談はさておき、入力整数が 0 または 1 であることだけを期待している場合は、実際にそうであることを確認する必要があります。

int yourInteger = whatever;
bool yourBool;
switch (yourInteger)
{
    case 0: yourBool = false; break;
    case 1: yourBool = true;  break;
    default:
        throw new InvalidOperationException("Integer value is not valid");
}

すぐに使えるConvertものはこれをチェックしません。もありませんyourInteger (==|!=) (0|1)

于 2013-02-27T09:51:27.450 に答える