【问题标题】:How to convert string property to bool?如何将字符串属性转换为布尔值?
【发布时间】:2019-02-25 13:11:18
【问题描述】:

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

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

【问题讨论】:

  • 您认为如何动态更改属性的数据类型?
  • 使用单独的复选框来表示您的布尔值似乎会更好的 UI。
  • 一个字符串属性只能返回一个字符串,但是你可以返回一个可以被布尔值解析的字符串,比如bool value = bool.Parse("true");,或者你可以设置一个带有布尔值的字符串属性,比如:@987654325 @
  • 如果您添加一个复选框而不是允许用户输入,您可以避免潜在的错误,例如用户键入“fasle”或“tru”

标签: c# string oop properties boolean


【解决方案1】:

字符串属性只能返回一个字符串,但您可以返回一个可以被布尔值解析的字符串,例如“true”或“false”。要从中获取布尔值,您可以使用bool.Parsebool.TryParse,例如:

bool value = bool.Parse(EnvironmentValue);

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

EnvironmentValue = true.ToString();

但更好的主意可能是使用为布尔值构建的控件,例如 CheckBox 或 `RadioButton,此时您只需执行以下操作:

DogLover = chkLikesDogs.Checked;

【讨论】:

    【解决方案2】:

    好吧,如果你得到真假,你可以使用

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

    【讨论】:

      猜你喜欢
      • 2011-02-17
      • 2012-04-02
      • 2021-02-23
      • 1970-01-01
      • 2018-09-07
      • 1970-01-01
      • 2016-07-13
      • 2011-11-12
      相关资源
      最近更新 更多