как преобразовать строку в bool - PullRequest
74 голосов
/ 16 марта 2012

У меня есть string, который может быть либо «0», либо «1», и гарантируется, что больше ничего не будет.

Так что вопрос в том, что лучше, проще всего.и самый элегантный способ преобразовать это в bool?

Спасибо.

Ответы [ 11 ]

0 голосов
/ 27 апреля 2018

Мне нравятся методы расширения, и я использую это ...

static class StringHelpers
{
    public static bool ToBoolean(this String input, out bool output)
    {
        //Set the default return value
        output = false;

        //Account for a string that does not need to be processed
        if (input == null || input.Length < 1)
            return false;

        if ((input.Trim().ToLower() == "true") || (input.Trim() == "1"))
            output = true;
        else if ((input.Trim().ToLower() == "false") || (input.Trim() == "0"))
            output = false;
        else
            return false;

        //Return success
        return true;
    }
}

Затем, чтобы использовать его, просто сделайте что-то вроде ...

bool b;
bool myValue;
data = "1";
if (!data.ToBoolean(out b))
  throw new InvalidCastException("Could not cast to bool value from data '" + data + "'.");
else
  myValue = b;  //myValue is True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...