加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

VB.NET选择…案例陈述等价于C#

发布时间:2020-12-17 00:00:57 所属栏目:大数据 来源:网络整理
导读:我刚刚开始使用C#,我有几个问题。 有没有什么办法编写与下面的VB.NET Select语句相同的C#? Select Object.Name.ToString() Case "Name1" 'Do something Case "Name2" 'Do something else Case Else 'Do the default actionEnd 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不同。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读