프로그램을 종료하지 않고 메소드를 종료하는 방법은 무엇입니까?
나는 여전히 C #을 처음 접했고 C / CPP에 비해 익숙해지는 데 어려움을 겪고 있습니다.
이 함수처럼 프로그램을 종료하지 않고 C #에서 함수를 어떻게 종료합니까?
if (textBox1.Text == "" || textBox1.Text == String.Empty || textBox1.TextLength == 0)
textBox3.Text += "[-] Listbox is Empty!!!!\r\n";
System.Environment.Exit(0);
이것은 반환 유형을 허용하지 않으며, 그대로두면 중단되지 않은 함수를 계속 진행합니다. 바람직하지 않습니다.
프로그램을 종료하지 않고 메소드를 일찍 종료하는 두 가지 방법이 있습니다.
return
키워드를 사용하십시오 .- 예외를 던집니다.
예외는 예외적 인 상황에서만 사용해야합니다. 메서드를 계속할 수없고 호출자에게 의미있는 합리적인 값을 반환 할 수없는 경우입니다. 일반적으로 완료되면 돌아와야합니다.
메서드가 void를 반환하면 값없이 return을 작성할 수 있습니다.
return;
특히 코드에 대해 :
- 같은 테스트를 세 번 쓸 필요가 없습니다. 이러한 모든 조건은 동일합니다.
또한 if 문을 작성할 때 중괄호를 사용하여 if 문 본문 안에 어떤 문이 있는지 명확하게해야합니다.
if (textBox1.Text == String.Empty) { textBox3.Text += "[-] Listbox is Empty!!!!\r\n"; } return; // Are you sure you want the return to be here??
.NET 4를 사용하는 경우 요구 사항에 따라 String.IsNullOrWhitespace 사용을 고려할 수있는 유용한 방법이 있습니다 .
- 대신 사용할 수 있습니다 .
Environment.Newline
"\r\n"
- 텍스트 상자에 메시지를 쓰는 것 외에 잘못된 입력을 표시하는 다른 방법을 고려할 수 있습니다.
Mark의 답변 외에도 중괄호를 사용하여 지정되는 범위 (C / C ++에서와 같이)도 알고 있어야합니다. 그래서:
if (textBox1.Text == "" || textBox1.Text == String.Empty || textBox1.TextLength == 0)
textBox3.Text += "[-] Listbox is Empty!!!!\r\n";
return;
항상 그 지점에서 돌아옵니다. 하나:
if (textBox1.Text == "" || textBox1.Text == String.Empty || textBox1.TextLength == 0)
{
textBox3.Text += "[-] Listbox is Empty!!!!\r\n";
return;
}
해당 if
문에 들어가는 경우에만 반환됩니다 .
return null;
반환 할 데이터가 없음을 나타내는 데 사용 합니다.
함수가 void이면 함수를 종료합니다 return
. 그렇지 않으면 명시 적 return someValue
. Mark가 언급했듯이 throw
예외 도 가능 합니다. 질문의 맥락은 무엇입니까? 함수를 종료하는 몇 가지 방법을 보여줄 더 큰 코드 샘플이 있습니까?
@John, Earlz 및 Nathan. 내가 유니에서 배운 방법은 : 함수는 값을 반환하고 메서드는 그렇지 않다는 것입니다. 일부 언어에서는 구문이 실제로 다릅니다. 예 (특정 언어 없음) :
Method SetY(int y) ...
Function CalculateY(int x) As Integer ...
대부분의 언어는 이제 두 버전 모두에 대해 동일한 구문을 사용합니다. 실제로 반환 유형이 없다고 말하기 위해 반환 유형으로 void를 사용합니다. 구문이 더 일관되고 메서드에서 함수로, 또는 그 반대로 변경하기가 더 쉽기 때문이라고 생각합니다.
여기에 기본적인 문제는 당신이 착각하는 것입니다 System.Environment.Exit
위해 return
.
참고 URL : https://stackoverflow.com/questions/3314305/how-to-exit-a-method-without-exiting-the-program
'IT Share you' 카테고리의 다른 글
Phonegap Cordova Ajax에서 404 (찾을 수 없음) 오류 요청 (0) | 2020.12.10 |
---|---|
jquery (또는 순수 js)는 테스트를 위해 누른 Enter 키를 시뮬레이션합니다. (0) | 2020.12.10 |
가로 스크롤이있는 HTML 표 (첫 번째 열 고정) (0) | 2020.12.10 |
Rails를 사용하여 이메일에 이미지를 삽입하는 올바른 방법은 무엇입니까? (0) | 2020.12.10 |
32 비트 정수에 대해 왼쪽 비트 시프트 "<<"가 32 회 이상 사용될 때 예상대로 작동하지 않는 이유는 무엇입니까? (0) | 2020.12.10 |