C# 如何从字符串转换为布尔值

C# 如何从字符串转换为布尔值,c#,.net,C#,.net,我有以下代码,在运行时,会保存一个字符串值True,如下所示: 代码如下: currentSetting = AppSession.Repository.Settings.Find(SettingQuery.ID == new ID("IsUsersLockedOut")); currentSetting[0].Value = true.ToString(); AppSession.Repository.Settings.Save(curren

我有以下代码,在运行时,会保存一个字符串值True,如下所示:

代码如下:

currentSetting = AppSession.Repository.Settings.Find(SettingQuery.ID == new ID("IsUsersLockedOut"));
            currentSetting[0].Value = true.ToString(); 
            AppSession.Repository.Settings.Save(currentSetting[0]);

我今天的问题是,我如何才能得到一个布尔值而不是字符串值,保存时的预期结果应该是,值==1,而不是上图中的字符串true。谢谢大家

实现这一点的方法很多,以下是一些:

    string boo = "true";

    bool b1 = Convert.ToBoolean(boo);
    bool b2 = bool.Parse(boo);
    bool b3 = bool.TryParse(boo, out var bParsed) && bParsed;
    bool b4 = boo.Equals("true", StringComparison.OrdinalIgnoreCase);

如果通过非bool,前两个将爆炸。第三个返回true,只有当某个可解析的布尔值以其他方式传递为false时,第四个返回true,只有当某个版本的单词true以其他方式传递为false时,第四个返回true

我无法确定您是在询问如何将字符串“true”解析为布尔值,还是将字符串“1”保存到数据库中。你能澄清你的问题是什么吗?@CaiusJard很抱歉,我的目标是将字符串“true”解析为boolean,如果你试图将
“true”
“false”
解析为
bool
,你可以直接使用。如果传递的不是
“true”
“false”
,您将得到一个
格式异常。