gpt4 book ai didi

c# - 运营商 : "bool++" in C#

转载 作者:太空宇宙 更新时间:2023-11-03 14:59:49 28 4
gpt4 key购买 nike

拥有

public void Main()
{
int i = 0;
Console.WriteLine($"I was {i++}, now I is {i}");
bool b = true;
Console.WriteLine($"B was {b}, now B is {b}");
}
//I was 0, now I is 1
//B was True, now B is True

是否有可能将 B 值更改为“inline”?

实际需要:Inline Razor

bool isActive = true;
@foreach(var item in list) {
<li class="@(isActive-- ? "active": "")">...
}

生产

<li class="active">...
<li class="">...
<li class="">...
<li class="">...
<li class="">...

使用 整数 的实际示例的解决方法:

int isActive = 1;
@foreach(var item in list) {
<li class="@(isActive-- > 0 ? "active": "")">...
}

最佳答案

您可以内联应用赋值运算符。它返回分配的值:

// b = !b both assigns false to b and returns assigned value
Console.WriteLine($"B was {b}, now B is {b = !b}");
// B was True, now B is False

对于您的 Razor View 示例,您可以像这样(滥用)使用它:

bool active = true;
Console.WriteLine($"B is {(active ? (active = false) ? "" :"active" : "")}");
Console.WriteLine($"B is {(active ? (active = false) ? "" : "active" : "")}");
Console.WriteLine($"B is {(active ? (active = false) ? "" : "active" : "")}");
// outputs B is active
// B is
// B is

不是我推荐这个,但正如你所说,这只是一个语言问题。

关于c# - 运营商 : "bool++" in C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46775707/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com