我正在尝试创建一个函数,它允许我判断一个字符串(词典编纂)的值是否在两个其他字符串之间。任何人都可以检查出来,让我知道我哪里出错了?请记住,我对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;不能应用于字符串和字符串。我希望有一个简单的解决办法,但我还没有在我的知识库中使用它。
谢谢!
答案 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
)。