小编MAK*_*MAK的帖子

得到最近的时间

我有一个obect列表,每个对象有一个TimeSpan属性reprsenting时间.我需要得到一个时间最接近输入值的对象.

应该看起来像这样..

List<MyClass> list = new List<MyClass>
{
   new MyClass() {Name="midnight", time= new TimeSpan(0,0,0)},
   new MyClass() {Name="noon", time= new TimeSpan(12,0,0)},
};

var testOne = GetClosest(new TimeSpan(2, 0, 0),list); // returns midnight
var testTwo = GetClosest(new TimeSpan(8, 0, 0),list); // returns noon
var testThree = GetClosest(new TimeSpan(13, 0, 0),list); // returns noon
var testFour = GetClosest(new TimeSpan(22, 0, 0),list); // returns midnight (that's the tricky one)
Run Code Online (Sandbox Code Playgroud)

这有什么优雅的方式吗?

编辑:当然,列表应该通过,抱歉.

.net c#

1
推荐指数
1
解决办法
629
查看次数

标签 统计

.net ×1

c# ×1