如何基于字符串设置复选框

问题描述 投票:-1回答:2

我有一个功能,可以从txt文件中读取一些数据,然后将数据写入我的项目中。

我的问题是我无法填写复选框,因为它们无法识别字符串。

例如

CheckBox1.IsChecked = File.ReadLines(filename).Skip(0).Take(1).First();

它说字符串不能转换成布尔值。

我的txt文件中的第一行在此示例中显然为假,因此输出不是问题。

c# wpf
2个回答
0
投票

为什么您不读取字符串中的值,如果此值等于True或False,则在比较此值之后,例如:

List<string> myLines = File.ReadLines("C:\\Temp\\MyFile.txt").ToList();
bool isChecked = false;
if (myLines?.Count > 0)
{
    string myValue = myLines.FirstOrDefault();
    if(!string.IsNullOrEmpty(myValue) && myValue.Equals("true", StringComparison.OrdinalIgnoreCase))
        isChecked = true;
}

CheckBox1.Checked = isChecked;

像这样您的代码是干净安全的!


-2
投票

使用以下两种方法之一:

CheckBox1.IsChecked = bool.Parse(File.ReadLines(filename).Skip(0).Take(1).First());

CheckBox1.IsChecked = Convert.ToBoolean(File.ReadLines(filename).Skip(0).Take(1).First())

请注意,仅当文件中的文本始终仅为“ true”或“ false”,否则,请使用TryParse代替

请参见此处以获取更多详细信息https://stackoverflow.com/a/49590872/559144

© www.soinside.com 2019 - 2024. All rights reserved.