Switch + TimeSpan

use*_*404 -3 c#

我如何与Switch声明一起使用TimeSpan

switch (myTimeSpan)
{
    case TimeSpan.Minutes:
        Console.WriteLine("Case 1");
        break;
    case TimeSpan.Hours:
        Console.WriteLine("Case 2");
        break;
    case TimeSpan.Seconds:
        Console.WriteLine("Case 2");
        break;
}
Run Code Online (Sandbox Code Playgroud)

编辑 - 添加了答案

C#7可以处理Switch带有模式匹配的语句

    switch(DateTime.Now-lastDate) {
        case var t when t.Days>720:
            changefreq="never";
            break;
        case var t when t.Days>365:
            changefreq="yearly";
            break;
        case var t when t.Days>180:
            changefreq="monthly";
            break;
        case var t when t.Days>30:
            changefreq="weekly";
            break;
        default:
            changefreq="daily";
            break;
    }
Run Code Online (Sandbox Code Playgroud)

Bri*_*sen 12

我想你要做的就是这样

if (span.TotalSeconds >= 60 * 60)
{
    Console.WriteLine("hours");
}
else if (span.TotalSeconds >= 60)
{
    Console.WriteLine("minutes");
}
else
{
    Console.WriteLine("seconds");
}
Run Code Online (Sandbox Code Playgroud)

  • +1用于尝试帮助而不仅仅是投票以关闭和/或下注. (6认同)