字符串的值是否在两个其他字符串之间?

时间:2016-02-24 16:27:44

标签: c# string

我正在尝试创建一个函数,它允许我判断一个字符串(词典编纂)的值是否在两个其他字符串之间。任何人都可以检查出来,让我知道我哪里出错了?请记住,我对C#相对较新。

    public static bool WithinRange(string pstrLowEnd, string pstrHighEnd, string pstrNum)
    {
        bool lbInclusive = false;

        if (pstrLowEnd <= pstrNum && pstrNum <= pstrHighEnd)
        {
            lbInclusive = true;
        }  

        return lbInclusive;
    }

生成的错误是&lt; =和=&gt;不能应用于字符串和字符串。我希望有一个简单的解决办法,但我还没有在我的知识库中使用它。

谢谢!

2 个答案:

答案 0 :(得分:4)

您可以使用string.CompareTo(),此方法返回一个有符号整数,表示两个字符串之间的词汇关系:

public static bool WithinRange(string pstrLowEnd, string pstrHighEnd, string pstrNum)
{
    bool lbInclusive = false;

    if (pstrNum.CompareTo(pstrLowEnd) >= 0 && pstrNum.CompareTo(pstrHighEnd) <= 0)
    {
        lbInclusive = true;
    }

    return lbInclusive;
}

或者只是:

return pstrNum.CompareTo(pstrLowEnd) >= 0 && pstrNum.CompareTo(pstrHighEnd) <= 0;

答案 1 :(得分:0)

您可以将a < b替换为string.Compare(a,b)==-1表示字符串,并且应该编译(<=变为compare <= 0)。