gpt4 book ai didi

c# - 一个静态属性,第一次返回 true,之后总是 false

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

我正在寻找使用第一次返回 true 的静态 bool 编写 C# 简单语句,然后始终返回 false。

    static bool _firstTime = true;
static bool FirstTime
{
get
{
bool old = _firstTime;
_firstTime = false;
return old;
}
}

这行得通,但我正在寻找没有临时变量(这里是“旧”)的更短的东西。

谢谢。

最佳答案

您可以在 C# 中返回赋值的结果,这意味着您可以进行比较,如果 firstTimetrue,您可以返回赋值的负数为 false:

private static bool firstTime = true;
public static bool FirstTime => firstTime ? !(firstTime = false) : firstTime;

但是你的方式更容易理解。

注意:这与您的原始代码(您所说的“有效”)完全一样线程安全,这意味着它不是线程安全的。

关于c# - 一个静态属性,第一次返回 true,之后总是 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56979356/

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