获取语句第一次为true时的日期时间

本文关键字:日期 时间 true 语句 第一次 获取 | 更新日期: 2023-09-27 18:02:57

我想捕捉语句开始为true的时间。但我想捕捉第一次它是真的。例如,在我的c#代码中:

if(variable > 1){
     Console.Writeline(DateTime.UtcNow.Ticks);
}

我想打印日期,但不是所有大于的值,而是第一个大于1的值。

获取语句第一次为true时的日期时间

无论是否显示日期时间,您都可以有一个变量。一旦显示,它将被指定为false。

public bool chk = true; // will hold the status 
if(variable > 1 && chk)
{
     chk = false;
     Console.Writeline(DateTime.UtcNow.Ticks);
}

另一种方法,可以使用Nullable<DateTime>:

DateTime? utcNow = null;
// ...
if(variable > 1 && !utcNow.HasValue){
    utcNow = DateTime.UtcNow;
    Console.Writeline(utcNow.Value.Ticks);
}

这种方法的好处是,您还可以保留该值以供以后处理。

bool flag = false;
if (variable > 1)
{
    if (!flag)
    {
        Console.Writeline(DateTime.UtcNow.Ticks);
        flag = true;
    }
}

我建议您在方法外部将flag变量声明为全局变量。如果你这样做,当你再次调用该方法时,什么都不会显示(我假设你只想捕获一次(

--编辑--

也许最好先检查标志,然后再检查其他条件。大多数时候,第一个条件将足以退出该方法,因此会更快

bool flag = false;
    if (!flag)
    {
        if (variable > 1)
        {
            Console.Writeline(DateTime.UtcNow.Ticks);
            flag = true;
        }
    }