lambda または linq を使用してリストを配置する方法。 以下はリスト (チケット) です。このリストには MessageId というフィールドがあり、各 MessageId にはサブメッセージなどが含まれる場合と含まれない場合があります (つまり、ReplyMessageId)。
次のリストがあります
MessageId ReplyMessageId Message PostedDate
66 65 "Hello" 6/25/2013 10:00:01 AM
68 66 "[Reply to Hello]-1" 6/25/2013 10:12:23 AM
72 66 "[Reply to Hello]-2" 6/25/2013 11:12:23 AM
73 66 "[Reply to Hello]-3" 6/26/2013 9:12:23 AM
74 66 "[Reply to Hello]-4" 6/25/2013 11:12:12 PM
75 68 "[Reply to Hello-1] -1" 6/25/2013 11:05:12 AM
76 73 "[Reply to Hello-3] -1" 6/26/2013 10:10:23 AM
80 75 "[Reply to Hello-1-1] -1" 6/25/2013 11:45:22 AM
81 68 "[Reply to Hello-1]-1" 6/25/2013 11:45:22 AM
たとえば、MessageId 68 は、サブメッセージ 75、81 を持つ MessageId 66 と MessageId 68 の返信です。
出力リストは次の形式である必要があります。
MessageId ReplyMessageId Message PostedDate
66 65 "Hello" 6/25/2013 10:00:01 AM
74 66 "[Reply to Hello]-4" 6/25/2013 11:12:12 PM
73 66 "[Reply to Hello]-3" 6/26/2013 9:12:23 AM
76 73 "[Reply to Hello-3]-1" 6/26/2013 10:10:23 AM
72 66 "[Reply to Hello]-2" 6/25/2013 11:12:23 AM
68 66 "[Reply to Hello]-1" 6/25/2013 10:12:23 AM
81 68 "[Reply to Hello-1]-1" 6/25/2013 11:45:22 AM
75 68 "[Reply to Hello-1]-1" 6/25/2013 11:05:12 AM
80 75 "[Reply to Hello-1-1]-1" 6/25/2013 11:45:22 AM