Visual Studio에서 각 사례에서 값을 반환하는 switch 문만 포함 된 C# 메서드를 만들었습니다. 개인 습관, 나는 다음과 같은 코드와 유사 뭔가를 넣어 :C# Switch 문 : 기본값을 사용하지 않는 것이 더 효율적입니까?
private string SwitchMethod(int num)
{
switch (num)
{
case 0:
return "result 1";
case 1:
return "result 2";
case 2:
return "result 3";
}
return "no result";
}
내 질문은 이것이다 : 더 나은 성능을해야합니다 어떤 코드? 위 또는 아래의 코드 또는 동일합니까? 그리고 왜?
나는 컴파일러 최적화로 인해 ... 그들은 단지 같을 수도 있다고 생각 하겠지만, 나는 정말로 모른다.
private string SwitchMethod(int num)
{
switch (num)
{
case 0:
return "result 1";
case 1:
return "result 2";
case 2:
return "result 3";
default:
return "no result";
}
}
개정 : 좀 더 구체적으로해야한다는 것 : 컴파일하면 ... 덜 효율적인 코드가 하나 또는 다른에 의해 생성됩니다?
나는 성능의 차이가 중요하지 않을 수 있다는 것을 알고있다. 나는 정말로 호기심이 많다.
이것은 꽤 주관적입니다. 메서드 나 함수에서 여러 종료 점을 제외하고 YMMV를 사용합니다. 정말 궁금하다면 IL을보십시오. –
그게 컴파일 된거야? 나는 내 컴파일러 앞에 있지는 않지만, 거의 확실하게 기본값이 필요하다. –
정말로 "일어나지 말아야한다"는 예외를 던지십시오. 실제로는 발생하지 않을 것이라고 생각한다면 – Matt