我正在研究c#中的问题。我有一个对象数组和一个关键对象。有对象的五个属性:从大多数匹配对象到最少匹配对象排列对象
- 集团
- 国家
- 服务
- 产业
- 技术
我想安排的对象,从而与主要对象最匹配的对象将首先显示。 我想按以下顺序排列数据 -
- 它将获得与关键对象组相同组的对象。
- 如果找到同一组的对象,那么这些对象将根据国家进行排序。即如果找到相同的参数值,则根据下一个参数决定顺序。
- 对于具有不同组的对象,也将遵循相同的过程。
我有一个解决方案: 我创建的5个参数每个排列和组合32个LINQ查询,然后我通过一个合并的那些32分的结果之一。这个解决方案给了我想要的结果,但是这个解决方案需要很多处理。请提供更短的解决方案。
在此先感谢。
你能否提供任何样本数据和期望的输出?这将有助于我们更好地理解事物。 – Sandy
因此,你的LINQ查询就像'myObjects.OrderBy(o => o.Group).ThenBy(o => o.Country).ThenBy(o => o.Service).ThenBy(...)'?但是你也想改变顺序,所以你在代码中做了这个LINQ查询的各种排列,所以定义了另一个,但它看起来像:'myObjects.OrderBy(o => o.Group).ThenBy(o => o.Service )。然后通过(o => o.Technology)。然后通过(...)'?您希望能够以任意顺序定义哪种顺序,而不必重复类似查询32次以上? –