13

我想比较两个字符串值​​​,像这样:

if (lblCapacity.Text <= lblSizeFile.Text)

我该怎么做?

4

6 回答 6

38

我假设您正在按字典顺序比较字符串,在这种情况下,您可以使用静态方法 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");
}

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

于 2012-04-23T13:10:37.030 回答
6
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.
于 2012-04-23T13:01:19.413 回答
2

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

int capacity;
int fileSize;

if(Int32.TryParse(lblCapacity.Text,out capacity) && 
   Int32.TryParse(lblSizeFile.Text,out fileSize))
{
    if(capacity<=fileSize)
    {
        //do something
    }
}
于 2012-04-23T13:00:38.493 回答
1

Looks like the labels contain numbers. Then you could try Int32.Parse:

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

Of course you might want to add some error checking (look at Int32.TryParse and maybe store the parsed int values in some variables, but this is the basic concept.

于 2012-04-23T13:00:27.573 回答
1

比较是你需要的。

int c = string.Compare(a , b);
于 2012-04-23T13:03:01.777 回答
0

使用Int32.ParseInt32.TryParse其他等效项。然后,您可以对这些值进行数字比较。

于 2012-04-23T13:00:12.573 回答