문제

나는 몇 번의 시간을 알아 내려고 노력하고 있습니다 최대 값 배열은 LINQ를 사용하여 배열 내에서 발생합니다..Count() 안에 술어가 있습니다. 그러나 나는 그것을하는 방법을 완전히 이해하지 못한다. MSDN의 Scant 예를 읽음으로써 나는 이해했다고 생각했지만 분명히 그렇지 않은 것 같습니다!

이것이 내가 생각한 것입니다.

string[] test = { "1", "2", "3", "4", "4" };
string max = test.Max();
Label1.Text = test.Count(p => p == max);

그러나 그것은 작동하지 않았습니다. 그래서 나는 변화를 시도했습니다 맥스 그것이 효과가 있는지 확인하기 위해 정수에게도 효과가 없었습니다.

도움이 되었습니까?

해결책

Where Function을 사용하여 먼저 필터를 필터링 한 다음 계산할 수 있습니다.

Label1.Text = test.Where(p => p == max).Count().ToString();

다른 팁

사용 Count(predicate) 괜찮습니다. 리턴 값 (정수)을 문자열로 변환하면됩니다.

Label1.Text = test.Count(p => p == max).ToString();
        int[] test = { 2, 45, 3, 23, 23, 4, 2, 1, 1, 1, 1, 23, 45, 45, 45 };
        int count = test.Count(i => i == test.Max());

이제 당신은 당신의 최종 카운트 인 수를 가지고 있습니다. INT 컬렉션으로 더 의미가 있습니다. 이제 표시하려면 Count에서 ToString ()을 호출 할 수 있습니다.

다음과 같은 것을 시도하십시오.

Label1.Text = test.Where(t => t == test.Max()).Count().ToString();
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top