Not*_*ing 0 c# asp.net asp.net-mvc linq-to-sql
我创建了一个函数来比较我的项目的价格.这是我的功能:
public static decimal ComparePrice(decimal Price, decimal WebsitePrice)
{
decimal ZERO_PRICE = 0.00000M;
if(Price == ZERO_PRICE && WebsitePrice > ZERO_PRICE){
return WebsitePrice;
}else if(Price == ZERO_PRICE && WebsitePrice == ZERO_PRICE){
return "";
}else{
return Price;
}
}
Run Code Online (Sandbox Code Playgroud)
如果两者(价格和网站价格)等于0.00,那么它将返回空字符串,我知道当函数设置为十进制类型时不可能返回字符串,但我不知道我应该怎么做.有人可以帮忙吗?谢谢.
如果它在您的应用程序逻辑中有意义,您可以使用Nullable类型并使用null而不是空字符串.喜欢 :
public static decimal? ComparePrice(decimal Price, decimal WebsitePrice)
{
if(Price == decimal.Zero && WebsitePrice > decimal.Zero){
return WebsitePrice;
}else if(Price == decimal.Zero && WebsitePrice == decimal.Zero){
return null;
}else{
return Price;
}
}
Run Code Online (Sandbox Code Playgroud)
或者使用Decimal.MinValue作为无效标志.(我更喜欢null,再次,如果这实际上是逻辑中的有效值).