如何从C#中的字符串中获取子字符串,其中该字符串具有序列号?

如何从C#中的字符串中获取子字符串,其中该字符串具有序列号?,c#,collections,substring,calculation,C#,Collections,Substring,Calculation,我有一个名称、值对和两个字符串存储在字典中 e.g., Name | Value | ------------------------- Dim1L9 | 10.98 | ------------------------- Dim14L10 | 26.32 | ------------------------- Dim14L11 | 95.25 | ------------------------- Dim1L10

我有一个名称、值对和两个字符串存储在字典中

e.g.,

Name        |   Value   |
-------------------------
Dim1L9      |   10.98   |
-------------------------
Dim14L10    |   26.32   |
-------------------------   
Dim14L11    |   95.25   |
-------------------------
Dim1L10     |   9.99    |
从这个表中,我想得到Dim1的和
10.98 + 9.99 = 20.97. 我该怎么做

以防您想要获得所有名称的总和:

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}

data.Where(x=>x.Key.StartsWith(“Dim1L”)).Sum(x=>x.Value)
Great。谢谢。@haim770-你给了我一个全新的视角。谢谢。你很好。这个名字是用维度和车道组成的。可以有10个尺寸和15个车道。因此,文字Dim1L9表示尺寸1和车道9。用户将填写一个输入参数,该参数包含维度,并且需要一个值的总和。因此,用户将只通过Dim1而不是Dim1L。上述逻辑将不起作用。