将vb left()函数转换为c#

时间:2012-01-20 11:19:14

标签: c# vb.net

我有一些vb代码我觉得如果有人能够将它转换为c#对我有用。我真的不知道左边的功能是什么?

If Left(cboLeng, 1) = "1" And Left(cboLeng, 1) = "2" And Left(cboLeng, 1) = "3" And Left(cboLeng, 1) = "4" And Left(cboLeng, 1) = "5" And Left(cboLeng, 1) = "6" And Left(cboLeng, 1) = "7" And Left(cboLeng, 1) = "8" And Left(cboLeng, 1) = "9" Then
        Leng = "L" & cboLeng.Text
    Else
        Leng = cboLeng.Text
    End If

2 个答案:

答案 0 :(得分:4)

Left获取所提供字符串的最左侧字符。 C#中的等效功能由string.Substring提供。所以你的代码将开始:

if (cboLeng.Text.Substring(0, 1) == "1"...

答案 1 :(得分:4)

(顺便说一下,目前还不清楚cboLeng在哪里 - 看起来它被用作字符串包含Text属性的类型。这个答案的其余部分假设它是一个字符串 - 否则,只需使用Text属性一次获取字符串值,然后对其进行操作。)

Left函数接受一个初始子字符串 - 但该代码没有意义。它等同于:

if (cboLeng.StartsWith("1") && cboLen.StartsWith("2") && ...)
{
}

字符串不能以“1”开头,而以“2”开头。我的猜测是真的想成为:

// TODO: Check for an empty string
char firstChar = cboLeng[0];
if (firstChar >= '1' && firstChar <= '9')
{
    Leng = "L" + cboLeng;
}
else
{
    Leng = cboLeng;
}