在 if 条件下尝试解析

Ash*_*ani 3 c#

我正在 ASP.NET C# 中获取查询字符串数据,我需要它的字符串值和 int.Parse 值(如果可以解析)。(在示例中,我跳过检查空值,因为它对我的问题没有影响)

value = Request.QueryString["value"];
id = int.TryParse(Request.QueryString["value"], out id) 
Run Code Online (Sandbox Code Playgroud)

上面的代码满足了我的需要,但我只是好奇是否可以用一句话来写它,所以我尝试了以下方法:

if (int.TryParse(Request.QueryString["value"], out id))) value=Request.QueryString["value"];
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如果无法解析字符串值,我不会得到它,但我会得到它的解析值。

有什么建议么?我的代码没有问题,我只是出于好奇而问是否可以用单行代码完成。

小智 5

C# 7.0 支持内联输出变量(于 2017 年 3 月发布)

var value = int.TryParse(Request.QueryString["value"], out int id) ? Request.QueryString["value"] : null;
Run Code Online (Sandbox Code Playgroud)

id(输出变量)将包含解析值或默认值(int)