2012-04-23 102 views
2

我想比較兩個字符串值,就像這樣:比較兩個字符串值

if (lblCapacity.Text <= lblSizeFile.Text) 

我該怎麼辦呢?

+3

文本屬性是數值嗎?你可以使用'Int32.Parse' – Siege 2012-04-23 12:58:18

+2

在這種情況下,<<=是什麼意思? – Oded 2012-04-23 12:58:48

+1

@Oded:我認爲是相對於字典排序不大或相等 – DonCallisto 2012-04-23 13:00:10

回答

0

使用Int32.Parse,Int32.TryParse或其他等價物。然後您可以數字比較這些值。

0

看起來像標籤包含數字。那麼你可以嘗試Int32.Parse

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

當然,你可能要添加一些錯誤檢查(看Int32.TryParse也許解析INT值存儲在一些變量,但這是基本的概念

2

如果。你有一個整數的文本框,然後,

int capacity; 
int fileSize; 

if(Int32.TryParse(lblCapacity.Text,out capacity) && 
    Int32.TryParse(lblSizeFile.Text,out fileSize)) 
{ 
    if(capacity<=fileSize) 
    { 
     //do something 
    } 
} 
4
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. 
+0

+1,如果有人爲我的商店編寫代碼,這將是我需要的 – Steve 2012-04-23 13:04:45

0

比較是你所需要的。

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

當您希望'「11」<「2」== true'時。 – 2012-04-23 13:11:42

+0

這個問題並未指出它的數值 – Yeshvanthni 2012-04-23 13:35:08

17

我假設您正在比較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

+0

當然我忘了提及Control.Text屬性返回一個字符串,這就是爲什麼我使用String.Compare的原因。 – 2012-04-23 13:27:25