LINQ组由多个属性和创建字典组成

Awe*_*Guy 3 c# linq format key

我有一个名为的类的对象列表ScrewBoltPattern.

我想创建一个字典,其中包含每个系列的出现次数ScrewBoltPattern.为了确定一个螺丝是否属于一个家庭我使用该类的一些属性.

为简化此查询,假设我使用属性Length和Diameter.

我想创建一个字典,其键的格式类似于screw.Length +"_"+ screw.Diameter

我怎么能得到这个?

这就是我到目前为止所做的

Dictionary<string, int> boltFamilyList = selectedBolts
                .GroupBy(bolt => new { bolt.Length, bolt.Diameter })
                .ToDictionary(bolt => bolt.Key, bolt => bolt.Count());
Run Code Online (Sandbox Code Playgroud)

我需要在某处给字典键设置格式,但我不知道该怎么做.

Joh*_*ica 5

您可以通过以下方式格式化组中的键:

Dictionary<string, int> boltFamilyList = selectedBolts
    .GroupBy(bolt => $"{bolt.Length}_{bolt.Diameter}")
    .ToDictionary(bolt => bolt.Key, bolt => bolt.Count());
Run Code Online (Sandbox Code Playgroud)

您的组密钥(以及代理您的字典密钥)将是格式化的字符串.

在线尝试