Vb.net 在VB中将真值分配给函数

Vb.net 在VB中将真值分配给函数,vb.net,c#-4.0,vb.net-to-c#,Vb.net,C# 4.0,Vb.net To C#,下面的VB代码为函数赋值为真值。但是当我转换成C#时,我得到了一个错误,就像我们不能将True赋值给一个方法一样。如何将true赋值给C#中的方法。这是我的VB代码: Private Function KeyOK(ByVal sKey As String) As Boolea KeyOK = True sKey = Trim(sKey) If Len(sKey) <> KEY_LENGTH Then KeyOK = False

下面的VB代码为函数赋值为真值。但是当我转换成C#时,我得到了一个错误,就像我们不能将True赋值给一个方法一样。如何将true赋值给C#中的方法。这是我的VB代码:

Private Function KeyOK(ByVal sKey As String) As Boolea

    KeyOK = True
    sKey = Trim(sKey)

    If Len(sKey) <> KEY_LENGTH Then
        KeyOK = False
        Exit Function
私有函数KeyOK(ByVal sKey作为字符串)作为Boolea
KeyOK=True
sKey=修剪(sKey)
如果Len(sKey)键的长度
KeyOK=False
退出功能
C#中的等价词是return关键字。因此,您只需编写以下内容,而不是KeyOK=false:

return false;
这里有一个等价的C#函数:

private bool KeyOK(string sKey) 
{
    bool result = true;
    sKey = (sKey ?? "").Trim();
    if (sKey.Length != KEY_LENGTH)
        result = false;
    return result;
}
C#中的等价词是return关键字。因此,您只需编写以下内容,而不是KeyOK=false:

return false;
这里有一个等价的C#函数:

private bool KeyOK(string sKey) 
{
    bool result = true;
    sKey = (sKey ?? "").Trim();
    if (sKey.Length != KEY_LENGTH)
        result = false;
    return result;
}

这是风格/品味的问题,但我不考虑中间产品

private bool KeyOK(string key)  { 
    return (key ?? "").Trim().Length == KEY_LENGTH;
} 
或者干脆

private bool KeyOK(string key)  { 
    return key.Trim().Length == KEY_LENGTH;
} 
如果您高兴,该密钥将永远不会为空

(不一定要把鼻子伸进去)

艾伦。

这是一个风格/品味的问题,但我不考虑中间产物

private bool KeyOK(string key)  { 
    return (key ?? "").Trim().Length == KEY_LENGTH;
} 
或者干脆

private bool KeyOK(string key)  { 
    return key.Trim().Length == KEY_LENGTH;
} 
如果您高兴,该密钥将永远不会为空

(不一定要把鼻子伸进去)

Alan。

这也是VB中首选的方法。函数名的赋值是vb6和更早版本的保留。@KaivthaBindela不要忘记投票并接受答案。只调用return并不等同,因为它会立即退出该方法。在VB中为函数名赋值不会立即退出函数。@ChrisDunaway这是一个很好的观点。除了创建一个新的私有变量来保存返回值之外,我认为在C#中没有真正的等价物,是吗?这也是VB中首选的方法。函数名的赋值是vb6和更早版本的保留。@KaivthaBindela不要忘记投票并接受答案。只调用return并不等同,因为它会立即退出该方法。在VB中为函数名赋值不会立即退出函数。@ChrisDunaway这是一个很好的观点。我认为除了创建一个新的私有变量来保存返回值之外,C#中没有真正的等价物,是吗?