//──────────────────────────────────────── /// <summary> /// グルーピング /// </summary> public void Grouping(Memory1Application_Partsnumput memoryApplication_Partsnumput) { this.list_NameGroup.Clear(); this.dictionary_MemoryPartsnumbergroupImpl.Clear(); foreach (Memory4bSpritePartsnumber memSpritePartnumVisible in this.List_VisiblePartsnumbersprite) { // 書式からグループ分け。 if (memSpritePartnumVisible.IsDefinitionExpression) { if (dictionary_MemoryPartsnumbergroupImpl.ContainsKey(memSpritePartnumVisible.Name_Symbol)) { // 「a=1000」など定義文が、既に登録されていた場合。 Memory4aPartsnumbersymbolspritesImpl memSymboldefinition = dictionary_MemoryPartsnumbergroupImpl[memSpritePartnumVisible.Name_Symbol]; memSymboldefinition.MemoryPartsnumbersprite_Symboldefinition = memSpritePartnumVisible; } else { // 「a=1000」など、未登録の定義文の場合。 Memory4aPartsnumbersymbolspritesImpl memSymboldefinition = new Memory4aPartsnumbersymbolspritesImpl(); memSymboldefinition.MemoryPartsnumbersprite_Symboldefinition = memSpritePartnumVisible; dictionary_MemoryPartsnumbergroupImpl.Add(memSpritePartnumVisible.Name_Symbol, memSymboldefinition); list_NameGroup.Add(memSpritePartnumVisible.Name_Symbol); } } else { // 「b+1」など。 Memory4aPartsnumbersymbolspritesImpl memSpriteExpression; if (dictionary_MemoryPartsnumbergroupImpl.ContainsKey(memSpritePartnumVisible.Name_Symbol)) { memSpriteExpression = dictionary_MemoryPartsnumbergroupImpl[memSpritePartnumVisible.Name_Symbol]; } else { memSpriteExpression = new Memory4aPartsnumbersymbolspritesImpl(); dictionary_MemoryPartsnumbergroupImpl.Add(memSpritePartnumVisible.Name_Symbol, memSpriteExpression); list_NameGroup.Add(memSpritePartnumVisible.Name_Symbol); } memSpriteExpression.List_MemoryPartsnumbersprite_Expression.Add(memSpritePartnumVisible); } } this.sGroupNameArray = this.List_NameGroup.ToArray(); Array.Sort(sGroupNameArray); // 数値計算 foreach (string sGroupName in this.Array_NameGroup) { Memory4aPartsnumbersymbolspritesImpl moGroup = this.Dictionary_MemoryPartsnumbergroupImpl[sGroupName]; // 名前定義 if (memoryApplication_Partsnumput.IsDisplayExecute) { moGroup.MemoryPartsnumbersprite_Symboldefinition.Parse_CalculateExpression(memoryApplication_Partsnumput); } // Num要素 foreach (Memory4bSpritePartsnumber mNum in moGroup.List_MemoryPartsnumbersprite_Expression) { if (memoryApplication_Partsnumput.IsDisplayExecute) { mNum.Parse_CalculateExpression(memoryApplication_Partsnumput); } } } }