比较两个字符串值

时间:2012-04-23 12:57:08

标签: c# string compare

我想比较两个字符串值,如下所示:

if (lblCapacity.Text <= lblSizeFile.Text)

我该怎么做?

6 个答案:

答案 0 :(得分:25)

我假设您正在比较lexicographical order中的字符串,在这种情况下,您可以使用Static方法String.Compare。

例如,您有两个字符串str1和str2,并且您想要查看str1是否位于字母表中的str2之前。你的代码看起来像这样:

string str1 = "A string";
string str2 = "Some other string";
if(String.Compare(str1,str2) < 0)
{
   // str1 is less than str2
   Console.WriteLine("Yes");
}
else if(String.Compare(str1,str2) == 0)
{
   // str1 equals str2
   Console.WriteLine("Equals");
}
else
{
   // str11 is greater than str2, and String.Compare returned a value greater than 0
   Console.WriteLine("No");
}

以上代码将返回yes。 String.Compare有许多重载版本,包括一些你可以忽略大小写或使用格式字符串的版本。查看String.Compare

答案 1 :(得分:5)

int capacity;
int fileSize;

if (!int.TryParse(lblCapacity.Text, out capacity) //handle parsing problem;
if (!int.TryParse(lblSizeFile.Text, out fileSize) //handle parsing problem;

if (capacity <= fileSize) //... do something.

答案 2 :(得分:2)

如果你在文本框中有整数,那么

int capacity;
int fileSize;

if(Int32.TryParse(lblCapacity.Text,out capacity) && 
   Int32.TryParse(lblSizeFile.Text,out fileSize))
{
    if(capacity<=fileSize)
    {
        //do something
    }
}

答案 3 :(得分:1)

看起来标签包含数字。然后你可以尝试Int32.Parse

if (int.Parse(lblCapacity.Text) <= int.Parse(lblSizeFile.Text))

当然你可能想要添加一些错误检查(查看Int32.TryParse并可能将解析的int值存储在某些变量中,但这是基本概念。

答案 4 :(得分:1)

比较就是你需要的。

int c = string.Compare(a , b);

答案 5 :(得分:0)

使用Int32.ParseInt32.TryParse或其他等效内容。然后,您可以在数值上比较这些值。