有没有办法让TimeSpan接受两个参数

本文关键字:两个 参数 TimeSpan 有没有 | 更新日期: 2024-10-31 19:51:39

TimeSpan结构默认接受三个或更多参数(小时/分钟/秒等),但我想知道是否有任何方法将其减少到两个参数(甚至一个)以分钟/秒或仅几秒钟作为参数。

有没有办法让TimeSpan接受两个参数

如果你只想传递几秒钟或几分钟,你可以使用静态方法:

TimeSpan timeSpanDays = TimeSpan.FromDays(10);
TimeSpan timeSpanHours = TimeSpan.FromHours(10);
TimeSpan timeSpanMilliseconds = TimeSpan.FromMilliseconds(10);
TimeSpan timeSpanMinutes = TimeSpan.FromMinutes(10);
TimeSpan timeSpanSeconds = TimeSpan.FromSeconds(10);
TimeSpan timeSpanTicks = TimeSpan.FromTicks(10);

有几个静态方法,可以从单个参数创建TimeSpan

TimeSpan.FromSeconds(double seconds)
TimeSpan.FromMinutes(double minutes)

您可以阅读有关 msdn TimeSpan 页面上的所有内容

请注意双精度参数,因此您可以传递 1.5 分钟。

这里有一些选择:

  • TimeSpan.From...方法
  • 工厂方法:
    public static void MakeSpan(int mins, int secs) {
        return new TimeSpan(0, mins, secs);
    }
    

  • 一个快捷方式-lambda:
    public static void main() {
        Func<int, int, TimeSpan> MakeSpan = (mins, secs) => new TimeSpan(0, mins, secs);
        var span1 = MakeSpan(1, 30);
        var span2 = MakeSpan(2, 05);
        // more to come
    }