2014-03-27 2 views
0

배열에서 내 ID를 검색하려면 어떻게해야합니까? 내 ID를 찾으면 userseq에 저장하십시오. 그것을 찾을 수없는 경우, 배열의 모든 세포에 대해서만 메시지 (Messagebox.Show("Does not exist"))를 반환 (내가 검색 shows only one message)을 마친 후 의미하나의 메시지를 표시하는 배열을 검색하는 방법

for (int yu = 0; yu <= 92161; yu++) 
{ 
    int wer = d[yu]; 
    if (wer == sc) 
    { 
     userseq = yu; 
    } 
} 

PS를 :. 내가

int? userseq=null; 
........... 
(!userseq.HasValue) 
{ 
Messagebox.Show("Does not exist") 
} 
+0

현재 코드에 어떤 문제가 있습니까? 오류가 있습니까? 예상 출력을 반환하지 않습니까? 그렇지 않은 경우 반환되는 결과와 예상되는 결과는 무엇입니까? if (! userseq.HasValue)'줄의 처음에'if'를 추가하는 것을 잊은 것 같습니다. – BateTech

+0

시스템에 잘못된 번호를 삽입해도 올바른 결과가 아닌 결과가 표시됩니다. 또한 여기에 추가하는 것을 잊지 만 코드에서는 사용했습니다. 또한 int를 사용할 수 있습니까? userseq = null; userseq가 "int"이지만 "null"이 부울 인 @BateTech이기 때문에 – user3446681

+1

두 번 이미 요청했습니다. [here] (https://stackoverflow.com/questions/22649451/how-to-add-condition-to-loop)) 및 [여기] (https://stackoverflow.com/questions/22675342/how-to-stop-running-the-code-fragment)를 참조하십시오. 당신에게 효과가없는 다른 답변에 대해서는 무엇입니까? –

답변

0

당신은 수에 의해 이전에 시도 LINQ를 사용

"편곡은"배열 및 "userseq"입니다
int? foundId = arr.FirstOrDefault(a => a == userseq); 
if (!foundId.HasValue) 
{ 
    Messagebox.Show("Does not exist!"); 
} 

당신이 비교하고있는 ID입니다

,369.

System.Linq를 반드시 포함하십시오. 배열을리스트에 먼저 캐스트해야 할 수도 있습니다. 그래서, 그냥 추가 ".ToList는()" ".FirstOrDefault"

더 많은 예제하기 전에 : http://www.dotnetperls.com/firstordefault

편집은 : 위 그것이 지능의 배열입니다 가정합니다. 그 밖에도, FirstOrDefault는 Ints 배열 인 경우 0을 반환합니다.

int foundId; 
if (!arr.Any(a => a == userseq) 
{ 
    Messagebox.Show("Does not exist!"); 
} 
else 
    foundId = arr.FirstOrDefault(a => a == userseq); 

더 "모든"예 : http://www.dotnetperls.com/any

0

나는 그것이 ID를 찾은 경우이 방법으로

int yu = 0; 
    while (yu <= 92161) 
    { 
     if (d[yu] == sc) 
     { 
      userseq = yu; 
      break; 
     } 
     yu++; 
    } 
    if (yu > 92161) 
     MessageBox.Show("Does not exist") 

다음, 그것을 종료 할 할 것이라고하고 메시지를 인쇄되지 않습니다. 전체 배열을 검색 한 후에 찾지 못하면 메시지가 인쇄됩니다.

희망이 있습니다.

관련 문제