隐式转换类型'字符串'到了布尔'

时间:2016-04-19 02:15:54

标签: c# filter implicit

我必须回答问题:用结果过滤列表中的所有学生是"传递"。但是,当我编写如下图所示的代码时,它总是返回错误,如下所示:不能隐式转换类型' string'到了布尔'。虽然我使用了Convert.ToBoolean(t.Result),但它无法工作?

帮助我!

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:4)

"真"和"错误"是唯一可以使用Convert.ToBoolean

转换为布尔值的字符串

有些选择是:

  • 更改您的方法以返回truefalse作为布尔值而不是字符串
  • 更改您的方法以返回字符串" True"或"错误"并致电Convert.ToString
  • 编写一个包装器方法来转换" Pass"并且"失败"到truefalse
  • 将您的条件更改为.Where(t => t.Result == "Pass")

答案 1 :(得分:3)

使用结果过滤列表中的所有学生"通过"您需要将条件添加为:

lst.Where(t => t.Result=="Pass").ToList();

对于此字符串,您可以使用布尔属性执行相同操作,因此属性定义将类似于:

public bool  Result
{
    get { return Score > 25; }           
}

因此,使用Result过滤列表中所有学生的迭代条件为" Pass" (Score > 25)

lst.Where(t => t.Result).ToList();