Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在razor中编写三元表达式的if等价物?_C#_Asp.net Core_Razor - Fatal编程技术网

C# 如何在razor中编写三元表达式的if等价物?

C# 如何在razor中编写三元表达式的if等价物?,c#,asp.net-core,razor,C#,Asp.net Core,Razor,目前,我在帖子后面使用了三元表达式:它工作得很好,但因为在我的例子中,表达式值相当长,所以我想用更清晰的方式来编写它们,也许在编写过程中使用临时变量 我知道如果本身是一种陈述,而不是一种表达,那么该如何写呢?结果应该是字符串(用于在页面上显示) 因此,从: @(condition ? string1 : string2) 如果对应物是什么样子 我搜索并尝试编写ifs和lambdas,但每次都遇到一些语法错误。我希望保持返回字符串值的简单性,而不是在每个分支中执行放置值的操作,如@Html.Di

目前,我在帖子后面使用了三元表达式:它工作得很好,但因为在我的例子中,表达式值相当长,所以我想用更清晰的方式来编写它们,也许在编写过程中使用临时变量

我知道
如果
本身是一种陈述,而不是一种表达,那么该如何写呢?结果应该是字符串(用于在页面上显示)

因此,从:

@(condition ? string1 : string2)
如果
对应物是什么样子

我搜索并尝试编写
if
s和lambdas,但每次都遇到一些语法错误。我希望保持返回字符串值的简单性,而不是在每个分支中执行放置值的操作,如
@Html.DisplayFor

更新

我的
string
值是纯文本,没有html标记,或者是一些奇特的东西。实际代码只是(对于这个目的来说有点过于复杂,但我希望可读):


我想你所需要的只是一些换行符

@if (someBoolean == true)
{
    <div>
        Boolean is true
    </div>
}
else
{
    <div>
        Boolean is false
    </div>
}

我想你所需要的只是一些换行符

@if (someBoolean == true)
{
    <div>
        Boolean is true
    </div>
}
else
{
    <div>
        Boolean is false
    </div>
}

声明一个字符串。然后写入if,并在if中为字符串指定正确的值。然后在最后,输出它。标准C#,足够近。请告诉我们您尝试了什么以及出现了什么错误。声明一个字符串。然后写入if,并在if中为字符串指定正确的值。然后在最后,输出它。标准C#,足够近。请告诉我们您尝试了什么,以及您犯了什么错误。谢谢。我以前尝试过简化这种方法,但没有成功——是否可以删除div标记(我正在查看您的第一个示例)?请参见上面的编辑。我不确定这是否有效,我希望谢谢你,但事实并非如此。一件事是语法,编译器不喜欢分支使用嵌套的
@{}
,但更大的问题是
@if
被视为语句,而不是表达式(就像常规的C#)。例如,在一个分支中使用纯常量会立即产生错误,因为编译器需要赋值。谢谢。我以前尝试过简化这种方法,但没有成功——是否可以删除div标记(我正在查看您的第一个示例)?请参见上面的编辑。我不确定这是否有效,我希望谢谢你,但事实并非如此。一件事是语法,编译器不喜欢分支使用嵌套的
@{}
,但更大的问题是
@if
被视为语句,而不是表达式(就像常规的C#)。例如,在一个分支中使用纯常量会立即产生错误,因为编译器需要赋值。
@if (someBoolean == true)
{
    <div>
        Boolean is: @someBoolean
    </div>
}
else
{
    <div>
        Boolean is: @someBoolean
    </div>
}
@if (someBoolean == true)
{
    @{
     // Your if instructions here
     }
}
else
{
    @{
     // Your else instructions here
     }
}