将类型 'string' 隐式转换为 'bool'

Implicitly convert type 'string' to 'bool'

我要处理问题:过滤列表中结果为"Pass"的所有学生。但是当我写下图这样的代码时,它总是return错误,小心这样:Cannot implicitly convert type 'string' to 'bool'。虽然我用了Convert.ToBoolean(t.Result)但是还是不行?

帮帮我!

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

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

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

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

所以用结果过滤列表中所有学生的迭代条件是"Pass"(Score > 25)将是

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

"True" 和 "False" 是唯一可以使用 Convert.ToBoolean

转换为布尔值的字符串

一些选项是:

  • 将您的方法更改为 return truefalse 作为布尔值而不是字符串
  • 将您的方法更改为 return 字符串 "True" 或 "False" 并调用 Convert.ToString
  • 编写一个包装器方法将"Pass"和"Fail"转换为truefalse
  • 将您的条件更改为 .Where(t => t.Result == "Pass")