我正在使用此代码来检查queryable值:
visitor.Queryable = queryable ?? throw new Exception("error message");
Run Code Online (Sandbox Code Playgroud)
我收到了编译错误:
错误CS1525:无效的表达式术语'throw'
我正在使用4.5.2 .net框架.有任何想法吗?
Gil*_*een 22
此功能仅在C#7.0之后可用.请参阅" 抛出C#7.0中的新增内容".
如果您使用较旧的VS并想要启用C#7功能:请查看如何在Visual Studio 2015中使用c#7?如果不是在VS 2017.
如果您正在使用以前版本的C#编译器,因为您必须是由于错误,那么您不能以??这种方式使用运算符,因为throw不返回正确的操作数值.正如C#Docs所说:
如果操作数不为null,则返回左侧操作数; 否则返回正确的操作数.
模式是这样的:
var result = someObject ?? valueToAssignIfWasNull;
Run Code Online (Sandbox Code Playgroud)
要解决它而改为:
if(queryable == null)
{
throw new Exception("error message");
}
visitor.Queryable = queryable;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5701 次 |
| 最近记录: |