次のようなクラスがあるとします。
public class Work
{
public string Name;
public double Time;
public Work(string name, double time)
{
Name = name;
Time = time;
}
}
そして、List<Work>
すべてが入力された約20の値があります:
List<Work> workToDo = new List<Work>();
// Populate workToDo
workToDo
各セグメントの時間の合計が特定の値であるセグメントにグループ化できる方法はありますか? 次workToDo
のような値があるとします。
Name | Time
A | 3.50
B | 2.75
C | 4.25
D | 2.50
E | 5.25
F | 3.75
時間の合計を 7 にしたい場合、各セグメントList<Work>
には、すべての時間の合計が 7 またはそれに近い値の束が必要です。これはリモートでも可能ですか、それともばかげた質問/アイデアですか? このコードを使用してworkToDo
、4 つのセグメントに分割しています。
var query = workToDo.Select(x => x.Time)
.Select((x, i) => new { Index = i, Value = x})
.GroupBy(y => y.Index / 4)
.ToList();
しかし、タイムズに基づいてそれを行う方法がわかりません。