가장 간단한 방법을 결정하는 경우는 변수와 같은 값에서'목록의 값

StackOverflow https://stackoverflow.com/questions/18407

  •  09-06-2019
  •  | 
  •  

문제

가 있는 경우는 변수에 C#해야하는 검사 결정하는 경우 그것은 동일하나의 변수 세트,가장 좋은 방법은 무엇입니까?

나는 솔루션을 찾고 저장하는 설정에서 훌륭한 기능들을 가지고 있습니다.저는 호기심을 볼 수 있는 경우에는 솔루션을 사용하여 논리에서 몇 가지 방법은 답을 얻을 수 있습니다.

내가 뭔가를 할 수 있습니다:

int baseCase = 5;
bool testResult = baseCase == 3 || baseCase == 7 || baseCase == 12 || baseCase == 5;

저는 호기심을 참조 할 수 있는 경우가 더 많은 다음과 같다:

int baseCase = 5;
bool testResult = baseCase == (3 | 7 | 12 | 5);

분명히 상 작동하지 않습니다,그러나 내가 보고에 관심이 있어요 무언가가 있다면 더 간단합니다 나의 첫번째 예에는 반복 같은 변수 또 다시 각 시험에 대한 값입니다.

업데이트:
기로 결정했을 받아 CoreyN 의 대답은 것으로 다음과 같이 가장 간단한 접근 방식이다.그것이 실용적이고 아직도 간단하는 초보자를 이해하고,나는 생각한다.

불행하게도는 우리의 시스템을 사용합니다.NET framework2.0 고 기회가 없 업그레이드 했습니다.다른 솔루션은 거기에 의존하지 마십시오.NET framework3.5 외에 가장 눈에 띄는 하나의 생각할 수 있:

new List<int>(new int[] { 3, 6, 7, 1 }).Contains(5);
도움이 되었습니까?

해결책

        bool b = new int[] { 3,7,12,5 }.Contains(5);

다른 팁

당신이 무언가를 할 수 있는 유사한다.NET2.0 을 이용하여,사실의 배열 T 명령을 구현하<T>고 명령<T> 는 담 방법입니다.그러므로 다음에 해당하는 코리습니다.NET3.5 솔루션이지만,분명:

bool b = ((IList<int>)new int[] { 3, 7, 12, 5 }).Contains(5); 

내가 자주 사용하는 명령<T> 에 대한 배열 선언,또는 적어도 중 하나를 통과하 차원 배열 arguments.그것은 사용할 수 있음을 의미 명령과 같은 속성을 계산하고,스위치는 배열에서 목록으로 쉽습니다.E.g.

private readonly IList<int> someIntegers = new int[] { 1,2,3,4,5 };

나는 일반적으로 사용 CoreyNko 솔루션 에 대한 간단한 케이스와 같습니다.아무것도 더 복잡한 사용 LINQ 쿼리가 있습니다.

하지 않기 때문에 데이터의 유형을 지정합이 있으로 입력해야겠다고 가정할 수 있는 파티션의 입력으로의 능력을 2->2,4,8,16...이것은 당신을 사용하여 비트를 결정하는 경우에 당신의 테스트 가치 중 하나에서 비트의 입력이 있습니다.

4 => 0000100
16 => 0010000
64 => 1000000

를 사용하여 몇 가지 바이너리학...

testList=4 + 16 + 64 =>1010100
testValue=16
testResult=testList&testValue

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top