은 내가이동 범위에 따라 정수 목록을 그룹화하는 방법은 무엇입니까?
list<int> = {14, 24, 56,189,909,1000};
내가 (그룹?) 붕괴를 서로의 범위 내에서 가을의 int는 하나 개의 값으로 붕괴되어 있도록 범위로 할 수 있습니다.
그래서 결과는{14,24,56} //since they 24 falls within 100 of 14 and 56 falls within 100 of 24
{189}
{909, 1000} //since they fall within 100 of each other
(100) 나는 이것이하여 LINQ 그룹을 사용 가능하다 알고 있지만 나는 구문으로 난처한 상황에 빠진 = 범위이어야한다.
나는이 answer 살펴 보았다하지만 난 당신의 범위를 주문 가정하면 하나 개의 범위를 즉 100
int[] values = {100, 110, 120, 130, 140, 150, 160, 170};
int[] ranges = {115, 145, 180};
var query = from value in values
group value by ranges.Where(x => value >= x)
.DefaultIfEmpty()
.Last();
foreach (var group in query)
{
Console.WriteLine("{0}: {{{1}}}", group.Key,
string.Join(", ", group));
}
는 결과는 무엇을 할 것인가? 그것이 첫 번째 또는 두 번째 그룹의 일부가 될 것인가? – user2864740
미안하지만 귀하의 질문을 놓쳤습니다. 150이라면 두 세트에 모두 포함될 것입니다. {14,24,56, 150}, {150, 189}. 감사. – Santino
그러면 189가 첫 번째 세트의 일부가 아닌 이유는 무엇입니까 (189는 150 + 100 미만 임)? – user2864740