C# 如何将字符串属性转换为bool?

C# 如何将字符串属性转换为bool?,c#,string,oop,properties,boolean,C#,String,Oop,Properties,Boolean,我正在wpf中开发一个工具。在该工具中,我有一个输入值的文本字段。在代码中,我有string属性。有时我需要输入布尔值。如果字符串属性在文本字段中键入true或false,它如何返回布尔值。 这是我的财产: public string EnvironmentValue { get { return enviromentValue; } set { enviromentValue = value; OnPropertyChanged();

我正在
wpf
中开发一个工具。在该工具中,我有一个输入值的文本字段。在代码中,我有string属性。有时我需要输入布尔值。如果字符串属性在文本字段中键入true或false,它如何返回布尔值。 这是我的财产:

public string EnvironmentValue
{
    get { return enviromentValue; }
    set
    {
        enviromentValue = value;
        OnPropertyChanged();
        AddEnviromentCommand.RaiseCanExecuteChanged();
    }
}

如果你知道是真是假,你可以用

bool s = Convert.ToBoolean("true");

string属性只能返回字符串,但可以返回可由布尔值解析的字符串,如“true”或“false”。要从中获取布尔值,可以使用或,如:

您可以使用bool设置字符串属性,如:

EnvironmentValue = true.ToString();
但更好的方法可能是使用为布尔值构建的控件,如
复选框或` RadioButton,此时您只需执行以下操作:

DogLover = chkLikesDogs.Checked;

您认为如何动态更改属性的数据类型?似乎最好使用单独的复选框来表示布尔值。字符串属性只能返回字符串,但您可以返回可由布尔值解析的字符串,如
bool value=bool.Parse(“true”),或者可以使用bool设置字符串属性,如:
string prop=true.ToString()如果您添加一个复选框而不是允许用户输入,则可能会重复,这样可以避免用户键入“fasle”或“tru”等潜在错误
DogLover = chkLikesDogs.Checked;