【发布时间】:2021-09-13 08:12:41
【问题描述】:
我需要我的代码使用条件表达式,但不知道如何正确解决这个问题。
这是“旧”代码:
private int PageNumber
{
get
{
if (ViewState["PageNumber"] != null)
{
return (int)ViewState["PageNumber"];
}
return 0;
}
set
{
ViewState["PageNumber"] = value;
}
}
以下是“新”代码。我试图修改“旧”代码,但在“get”中得到“Merge conditional expression”:
private int PageNumber
{
get => ViewState["PageNumber"] != null ? (int) ViewState["PageNumber"] : 0;
set => ViewState["PageNumber"] = value;
}
“get”如何使用条件表达式?
【问题讨论】:
-
你读过docs吗?
-
“合并条件表达式”听起来像 Resharper 建议改进。可能有一种方法可以告诉它进行改进:我猜它会做类似
(ViewState["PageNumber"] as int?) ?? 0或(int?)ViewState["PageNumber"] ?? 0 -
如果 Resharper 提出了一些建议,那么告诉它为您实施该建议......