实体框架-如何显示是/否而不是True/False bool?在c#
本文关键字:True False bool 框架 何显示 显示 实体 | 更新日期: 2023-09-27 17:51:11
我得到错误"不能隐式地将类型'字符串'转换为'bool'。我如何返回"是"或"否"而不是真/假?
public bool? BuyerSampleSent
{
get { bool result;
Boolean.TryParse(this.repository.BuyerSampleSent.ToString(), out result);
return result ? "Yes" : "No";
}
set { this.repository.BuyerSampleSent = value; }
}
如果返回类型是bool
(在本例中是bool?
),则不能返回字符串。你返回一个bool
:
return result;
然而,请注意,你问…
如何显示 Yes/No…
这段代码没有显示任何内容。这是一个对象的属性,而不是一个UI组件。在UI中,您可以使用此属性作为标志显示任何您喜欢的内容:
someObject.BuyerSampleSent ? "Yes" : "No"
相反,如果你想在对象本身上显示一个友好的消息(也许它是一个视图模型?),那么你可以为该消息添加一个属性:
public string BuyerSampleSentMessage
{
get { return this.BuyerSampleSent ? "Yes" : "No"; }
}
正如@Pierre-Luc指出的那样,您的方法返回bool值。您需要将其更改为String
不能返回bool值"Yes"或"No"。在c#中,bool是布尔数据类型的关键字。您不能覆盖关键字的此行为。
在这里阅读更多关于c#布尔数据类型的信息。
在你的情况下,你可以这样做:
public string BuyerSampleSent
{
get
{
string result= "No";
if (this.repository.BuyerSampleSent.Equals("true",StringComparisson.OrdinalIgnoreCase)) // <-- Performance here
result = "Yes";
return result;
}
set
{
this.repository.BuyerSampleSent = value;
}
}