이 작업을 시도 할 수 있습니다 :
var g = new string[] {"55002", ...};
var t=g.GroupBy(f => f.Substring(0, 2))
.Select(f =>f.OrderByDescending(a =>a).First());
결과 :
55002
91128
81612
84615
86358
94002
갱신 :
은 아마 GROUPBY 지난 2 charcters을 mathing도해야한다고 놓쳤다.
그 다음 사건의 경우
시각화를위한
var t=g.GroupBy(f => f.Substring(0, 2)+f.Substring(f.Length-2))
.Select(f =>f.OrderByDescending(a =>a).First());
:
이 코드를 보면 :
var g = new string[] {"55002",
"91128",
"81512",
"81712",
"81612",
"84516",
"84216",
"84615",
"86358",
"86358",
"94002"};
var t = g.GroupBy(f => f.Substring(0, 2) + f.Substring(f.Length - 2)).Select(f => new { key = f.Key, group = f.OrderByDescending(a => a)});
Console.Write(t);
우리는 "키"로 그룹에려고하고 취할 각 오른쪽 그룹의 첫 번째 상위 그룹 :
가장 낮은 중간 문자 - 항목을 비교합니까? 모든? 인접 해 있니? – JohnyL
그래서 결과는 "55002", "81612", "84615", "86358", "91128", "94002"'가 될 것입니까? –
이것은 숙제와 같습니다. – Ivan86