与えられた 1 つのクラスのオブジェクトのリスト ( List<Type1>
)
item1.isbool = true, beat = 1
item2.isbool = true, beat = 1.333
item3.isbool = true, beat = 1.666
item4.isbool = false, beat = 2
item5.isbool = false, beat = 3
item6.isbool = false, beat = 4
item7.isbool = false, beat = 5
item8.isbool = true, beat = 5.333
item9.isbool = true, beat = 5.666
List<Type2>.Add()
連符グループ (可変サイズ) の開始値と終了値を取得して、2 番目のクラス ( )のリストに追加したいと考えています。
item1.tuplet = start
item3.tuplet = stop
item8.tuplet = start
item9.tuplet = stop
要素の順序は重要です。オプションとして MoreLinq がありますが、これらの値を取得するために実行する必要がある操作の種類は不明です。パーティションまたはある種の GroupBy のいずれかである可能性がありますが、それは機能していないようです。
最後に必要な最終結果は
List2.Add(new Object() {Tuplet = TupletType.Start});
List2.Add(new Object() {Tuplet = TupletType.None});
List2.Add(new Object() {Tuplet = TupletType.Stop});
List2.Add(new Object() {Tuplet = TupletType.None});
List2.Add(new Object() {Tuplet = TupletType.None});
List2.Add(new Object() {Tuplet = TupletType.None});
List2.Add(new Object() {Tuplet = TupletType.None});
List2.Add(new Object() {Tuplet = TupletType.Start});
List2.Add(new Object() {Tuplet = TupletType.Stop});