0

我有一组调查,这是一个自定义类。调查包含一个名为 的属性UWI。我想为每个唯一的UWI.

一个棘手的部分是,UWI 是一个位置。它可以写成00/01-08-023-23W4/0 字符串的最后一个字符(在这种情况下为 0)告诉你它发生在地下的事件,第一部分是地表位置。我想在不考虑深度的情况下按表面位置对所有 UWI 进行分组。

例如:

00/01-08-023-23W4/0

00/01-08-023-23W4/3

是相同的表面位置,但它们具有不同的事件,因此应将它们分组。

在尝试解决问题时,我尝试过:

 var test =  directionalSurveys.Select(a => a.UWI.Remove(a.UWI.Length - 1, 1));

这只是返回了一个 UWI 列表。

如果主列表的集合中有 5 个对象:

00/01-08-023-23W4/0

00/01-08-023-23W4/1

00/01-08-023-23W4/2

00/01-06-028-19W4/0

00/01-04-018-15W4/0

最终结果将是 3 个新列表。前 3 个作为列表,第四个作为列表,第五个作为列表。

4

1 回答 1

3

用于GroupBy对项目进行分组:

var query = directionalSurveys.GroupBy(a => a.UWI.Remove(a.UWI.Length - 1, 1));
于 2013-06-17T17:35:08.420 回答