在 Razor 中显示表达式值

h-r*_*rai 5 c# asp.net-mvc razor

我想在剃刀视图中将以下表达式的值显示为文本。

@(doc.Extension ?? string.Empty).ToUpperInvariant(); 
Run Code Online (Sandbox Code Playgroud)

我已经尝试了所有变体,但似乎没有任何效果。我知道我可以使用临时变量来存储该表达式的值,但我想知道是否有一种方法可以内联执行此操作。

@((doc.Extension ?? string.Empty).ToUpperInvariant();)
@{@:@(doc.Extension ?? string.Empty).ToUpperInvariant();} 
Run Code Online (Sandbox Code Playgroud)

Str*_*ior 5

如果您不使用分号,Razor 会将您的代码解释为表达式而不是语句。例如:

@((doc.Extension ?? string.Empty).ToUpperInvariant())
Run Code Online (Sandbox Code Playgroud)