我想比较两个字符串值,如下所示:
if (lblCapacity.Text <= lblSizeFile.Text)
我该怎么做?
答案 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.Parse
,Int32.TryParse
或其他等效内容。然后,您可以在数值上比较这些值。