我有一个功能,可以从txt文件中读取一些数据,然后将数据写入我的项目中。
我的问题是我无法填写复选框,因为它们无法识别字符串。
例如
CheckBox1.IsChecked = File.ReadLines(filename).Skip(0).Take(1).First();
它说字符串不能转换为布尔值。
在此示例中,我的txt文件中的第一行显然是错误的,因此输出不是问题。
答案 0 :(得分:0)
使用以下两种方法之一:
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
答案 1 :(得分:0)
为什么您不读取字符串中的值,如果此值等于True或False,则在比较此值之后,例如:
List<string> myLines = File.ReadLines("C:\\Temp\\MyFile.txt").ToList();
bool isChecked = false;
string myValue = myLines.FirstOrDefault();
if(myValue != null && myValue.Equals("true", StringComparison.OrdinalIgnoreCase))
isChecked = true;
CheckBox1.Checked = isChecked;
像这样,您的代码是干净安全的!