if 함수에 문제가 있습니다. 3 개의 문자열 배열 ("orderID", "id"및 "name")이 있습니다.문이 정렬되지 않고 예상대로 작동하지 않는 경우
- orderID에는 최대 10 개의 주문 번호가 있습니다.
- ID와 이름은 거의 모든 음료가 들어있는 데이터베이스입니다.
"orderID"가 "id"와 일치하면 "name"이 목록에 추가되고, 그렇지 않으면 문자열 "Not found in database"가 추가됩니다.
현재 코드 :
문제 : 다음
string x = "Not found in database";
for (int i = 0; i < id.Length; i++)
{
foreach (string ids in orderID)
{
if (ids == id[i])
{
listBox1.Items.Add(name[i]);
listBox2.Items.Add(name[i]);
break;
}
else
{
listBox2.Items.Add(x);
}
}
}
는 결과
- 2 목록 - "주문 ID"는 "ID"에 일치 할 때, "name"은 목록에 추가되지만 원하는 위치에는 추가되지 않습니다. 데이터베이스의 위치에 따라 추가되는 것 같습니다. 어떻게 피하는거야?
- 세 번째 목록은 "else"가 추가 된 것과 중복됩니다. 그렇지 않으면 예상대로 작동하지 않습니다. 모든 것을 "데이터베이스에서 찾을 수 없음"을 추가합니다. 어떤 제안이라도 그것을 고치는 방법?
list1과 list2가 무엇을 나타내는 지 알 수 없지만 한 가지 방법은 다른 사람의 목록 상자에 추가하는 것이 좋습니다. 'else {listBox1.Items.Add (name [i]); listBox2.Items.Add (x); }'; 당신의 목록은 첫 번째 것에 대해서는 "Cofee, Cofee"라고하고, 다음에 대해서는 "Jack Daniels, Not Found"라고 말할 것입니다. 당신은'for'와'foreach' 루프를 뒤집을 수도 있고 원치 않을 수도 있습니다. 'break'는 가장 안쪽 루프에서 빠져 나가고 바깥 쪽 루프는 계속 실행된다는 것을 명심하십시오. – Quantic