당신은 람다의 일종 사용할 수 있습니다
이
//load a list, t, with 100 integers
List<int> t = Enumerable.Range(1, 100).ToList();
//find odd numbers
var oddNumbers = t.Where(num => num%2 != 0);
//find even numbers
var evenNumbers = t.Where(num => num%2 == 0);
//print odd numbers
foreach (int i in oddNumbers)
Console.WriteLine(i);
//print even numbers
foreach(int i in evenNumbers)
Console.WriteLine(i);
열거 가능한 단지 1-100로 목록을로드 한 다음 단순히 모든 확률 /를 고르게 날치기 한 다음 인쇄 할 수 있습니다. 이 모두는 다음과 같이 단축 될 수 있습니다 :
var e = Enumerable.Range(1, 100).Where(num => num%2==0); //for even numbers
var o = Enumerable.Range(1, 100).Where(num => num%2!=0); //for odd numbers
, o는 암시 적 유형 var를가집니다.
List<int> o = eo.Where(num => num%2!=0).ToList();
List<int> e = eo.Where(num => num%2==0).ToList();
그리고 내 초기에 나열되어 인쇄하기 :
다음
List<int> eo = Enumerable.Range(1, 100).ToList(); //must tell it its a list
이 가능성을 찾기 위해/목록 형에 직접 고르게 : 컴파일러는이 두 라인에 상응 그래서 유형을 확인할 수 있습니다 암호.
이상한 숫자에 대한 당신의 술어에는 불쾌한 버그가 있습니다. 당신이 그것을 찾을 수 있는지보십시오. (힌트 : 더 많은 테스트 케이스가 필요하다.) –
@Eric Lippert 아마도 num % 2 == 1은 나쁜 선택이었다 ... 2 == 1이 false를 반환하기 때문에 :). 편집 할 것입니다 ... 내가 실수인지 알려주세요. – JonH
당신이 실제로 문제를 진단하지 않았기 때문에 좋은 생각, 올바른 수정,하지만 시가가 없습니다. -100에서 +100 사이의 범위로 원래 코드를 시도하십시오. –