将类型 '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
true
或 false
作为布尔值而不是字符串
- 将您的方法更改为 return 字符串 "True" 或 "False" 并调用
Convert.ToString
- 编写一个包装器方法将"Pass"和"Fail"转换为
true
和false
。
- 将您的条件更改为
.Where(t => t.Result == "Pass")
我要处理问题:过滤列表中结果为"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
true
或false
作为布尔值而不是字符串 - 将您的方法更改为 return 字符串 "True" 或 "False" 并调用
Convert.ToString
- 编写一个包装器方法将"Pass"和"Fail"转换为
true
和false
。 - 将您的条件更改为
.Where(t => t.Result == "Pass")