オブジェクトのリストがあります。各オブジェクトには、時刻を表すTimeSpanプロパティがあります。入力値に最も近い時間を取得する必要があります。
このように見えるはずです。
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)
これを行うためのエレガントな方法はありますか?
編集:もちろん、リストは渡されるべきです、ごめんなさい。