C# 是否有一个同时包含dateTime和Timespan的类?

C# 是否有一个同时包含dateTime和Timespan的类?,c#,datetime,timespan,C#,Datetime,Timespan,我正在寻找一个表示并发事件的类, 例如: 在每个工作日,从10:00开始开会,需要2小时。等等 我知道如何自己实现它,我想知道是否有一个预先定义的类 tnx 没有,但这里有一个要带回家: public class DateTimeAndTimeSpan { public DateTime Time{get;set;} public TimeSpan Duration{get;set;} } 我会使这样一个类不可变,甚至可能是一个结构 您可以选择开始/结束或开始/持续时间内部表示

我正在寻找一个表示并发事件的类, 例如: 在每个工作日,从10:00开始开会,需要2小时。等等

我知道如何自己实现它,我想知道是否有一个预先定义的类


tnx

没有,但这里有一个要带回家:

public class DateTimeAndTimeSpan
{
    public DateTime Time{get;set;}
    public TimeSpan Duration{get;set;}
}

我会使这样一个类不可变,甚至可能是一个结构

您可以选择开始/结束或开始/持续时间内部表示形式。应该对公共API不可见

如果您喜欢,您可以重载一些运算符并覆盖
Equals
GetHashCode
以获得完整值语义

public class TimeInterval
{
    private readonly DateTime _start;
    private readonly DateTime _end;

    public DateTime Start { get { return _start; } }
    public DateTime End { get { return _end; } }
    public TimeSpan Duration { get { return _end - _start; } }

    public TimeInterval(DateTime start, DateTime end)
    {
        if(end.Kind != start.Kind)
          throw new ArgumentException("Incompatible DateTimes");

        _start = start;
        _end = end;
    }

    public TimeInterval(DateTime start, TimeSpan duration)
    {
        _start = start;
        _end = start.Add(duration);
    }
}

你能再解释一下你的问题吗?嗨,你需要它做什么?也许如果你描述你的用例,我们可以看到什么最适合你。你可以创建自己的。我不知道有一个,但是自己编写应该不难。我不喜欢让这样的类变为可变的。有趣的是,你可以花数周的时间精心设计有趣问题的有用答案,然而,在这段时间里,你的得分最高的答案是对一个非常基本的问题的一个直截了当、有些愚蠢的回答。这是个奇怪的地方@我完全同意你的意见。@Nye先生不知道。但是
.Kind
更改失去了检查的意图。