vb.net select… c#에서 동등한 사례 명령문
-
20-09-2019 - |
문제
방금 C#을 사용하기 시작했고 몇 가지 문제가 있습니다. 다음과 같이 vb.net select 문과 C#을 코딩하는 방법이 있습니까?
Select Object.Name.ToString()
Case "Name1"
'Do something
Case "Name2"
'Do something else
Case Else
'Do the default action
End Select
모든 도움은 대단히 감사하겠습니다.
지금까지 입력 해 주셔서 감사합니다. 다음과 같이 여러 컨트롤을 하나의 이벤트 핸들러에 연결하면 각 컨트롤에 대해 약간 다른 작업을 수행하고 싶습니다.
Private Sub Button_Click(sender as Object, e as EventArgs) _
Handles button1.Click, Button2.Click
'do a general activity
Select CType(sender, Button).Name
Case button1.Name
'do something
Case button2.Name
'do something else
Case Else
'do the defalut action
End Select
End Sub
중첩 된 IFS를 사용하지 않고 위의 선택 명령문을 C#에서 수행하는 방법이 있습니까?
해결책
나는 시간이 지남에 따라 일부 vb.net을 찾아 왔습니다. Select...Case
구조물은 C#에 적용되지 않으며 주변의 유일한 방법은 많은 IFS를 작성하는 것입니다.
예를 들어, vb.net에서는 다음을 작성할 수 있습니다.
Dim num as Integer = 5
Select Case num
Case 1 to 10
'do something
Case 11 to 20
'do another thing
Case Else
'do the default
End Select
그러나 아무도 없습니다 switch
이런 종류의 작업을 수행 할 수있는 C#로 구성하십시오. 당신은 그렇게로 원형 교차로로 코딩해야합니다.
int num = 5;
switch (num)
{
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
//do something
break;
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
case 18:
case 19:
case 20:
//do something else
break;
default:
//do the default
break;
}
또는 함께 일하고 있다면 Double
또는 이산 값 대신 연속으로 구성된 모든 유형은 사용해야합니다. if
필요한 조치를 취합니다.
이유? C#'s switch
다양한에 대한 상수가 필요합니다 case
에스. 이것은 vb.net과 다릅니다 Select Case
쓰기 범위를 허용합니다.
다른 팁
당신은 스위치 문을 찾고있을 것입니다 ...
switch (Object.Name.ToString())
{
case "Name1":
//Do something
break;
default:
//default
break;
}
휴식은 가져 오기에 주목하십시오. 그렇지 않으면 프로그램이 귀하의 사례를 통해 떨어집니다. 거의 모든 C# 소개에서 이것을 찾을 수 있어야합니다 ...
a switch
성명.
switch (object.Name.ToString()) {
case "Name1":
break;
//Do something
case "Name2":
break;
//Do something else
default:
break;
//Do the default action
}
그리고 a가 있다는 것을 잊지 마십시오 무료 온라인 변환 도구 이를 통해 vb.net을 C#로 변환하고 그 반대를 전환 할 수 있습니다.
C# 7을 사용하면 스위치가 크게 향상되었습니다., VB 버전만큼 "깨끗한"것은 아니지만 사례 내에서 더 많은 조건을 적용 할 수 있습니다. 예를 들어 다음과 같은 일을 할 수 있습니다.
switch (examScore)
{
case int es when es >= 90: grade = "A"; break;
case int es when es >= 80: grade = "B"; break;
case int es when es >= 70: grade = "C"; break;
case int es when es >= 60; grade = "D"; break;
default: grade = "F"; break;
}
/ 참고 문헌에서 가져온 :