我刚刚开始使用C#,我有几个问题。
有没有什么办法编写与下面的VB.NET Select语句相同的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
有没有办法在C#中执行上述select语句,而不必使用嵌套ifs?
我已经找到一段时间,一些VB.NET选择…案例结构不适用于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
但是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或任何由连续而不是离散值组成的类型,则必须使用ifs来获取所需的操作。
原因? C#的开关需要各种情况的常数。这与VB.NET的允许写入范围的Select Case不同。