예제 #1
0
        /// <summary>
        /// 新しいNoteGroupを作成してlistが昇順を保つように挿入する。
        /// </summary>
        /// <param name="note">新しいPhotoChatNote</param>
        /// <param name="list">NoteGroupが昇順に格納されているLinkedList</param>
        private static void InsertInGroupList(PhotoChatNote note,
                                              LinkedList <NoteGroup> list)
        {
            try
            {
                // 後ろから挿入箇所を探す
                LinkedListNode <NoteGroup> node;
                for (node = list.Last; node != null; node = node.Previous)
                {
                    if (note.CompareTo(node.Value.First) > 0)
                    {
                        break;
                    }
                }

                // 挿入
                if (node == null)
                {
                    list.AddFirst(new NoteGroup(note));
                }
                else
                {
                    list.AddAfter(node, new NoteGroup(note));
                }
            }
            catch (Exception e)
            {
                PhotoChat.WriteErrorLog(e.ToString());
            }
        }