私はこれが初めてで、これを行うのに少し問題があります:
私はのリストを持っていますtimeitems
:
06:40 - 07:10
06:55 - 07:13
07:00 - 08:35
07:13 - 07:14
09:00 - 10:00
10:00 - 11:00
12:00 - 13:00
12:30 - 14:00
今、交差するすべてのアイテムが必要です:
06:40 - 07:10
06:55 - 07:13
07:00 - 08:35
07:13 - 07:14
12:00 - 13:00
12:30 - 14:00
var intersects = timeitems
.Where(a => timeitems
.Any(b => Utilities.IsBetween(a.SpanRangeStartIndex, b.SpanRangeStartIndex, b.SpanRangeEndIndex)))
.AsParallel()
.ToList();
しかし、私はこれしか得られず、理由がわかりません:
06:55 - 07:13
07:00 - 08:35
07:13 - 07:14
12:30 - 14:00
あなたの助けに感謝します(覚えておいてください、私は.netに不慣れです:-)
編集*
わかりました、timeitem は 2 つのプロパティを持つアイテムの単なるリストではありません:
Item1(SpanRangeStartIndex=06:40 SpanRangeEndIndex=07:10)
Item2(SpanRangeStartIndex=06:55 SpanRangeEndIndex=07:13)
...
Utilities.IsBetween は、値が他の 2 つの値の間にあるかどうかをチェックします (3 が 2 と 6 の間にある場合 -> true)
public static bool IsBetween(int value, int start, int end)
{
return (value > start) & (value <end);
}
私の悪い英語と悪いC#スキルで申し訳ありません...私はこれに非常に慣れていません
ありがとう