1

名前と値のペアの両方の文字列が辞書に格納されています。

e.g.,

Name        |   Value   |
-------------------------
Dim1L9      |   10.98   |
-------------------------
Dim14L10    |   26.32   |
-------------------------   
Dim14L11    |   95.25   |
-------------------------
Dim1L10     |   9.99    |

このテーブルから、Dim1 10.98 + 9.99 = 20.97 の合計を取得したいと思います。これどうやってするの?

4

1 に答える 1

1

すべての名前の合計を取得したい場合に備えて:

var regex = new Regex(@"^[a-zA-Z]+(\d+)L\d+$");
var sumByDimension = from kvp in dictionary
            let match = regex.Match(kvp.Key)
            where match.Success
            group kvp by match.Groups[1].Value into g
            select new
            {
                Dimension = g.Key,
                Sum = g.Sum(kvp => kvp.Value)
            };

出力:

{ Dimension: "1", Sum: 20.97 }
{ Dimension: "14", Sum: 121.57}
于 2017-01-05T14:22:46.457 に答える