13

次のように、2 つの文字列値 を比較したいと思います。

if (lblCapacity.Text <= lblSizeFile.Text)

どうすればいいですか?

4

6 に答える 6

38

文字列を辞書式順序で比較していると想定しています。この場合、静的メソッドString.Compareを使用できます。

たとえば、str1とstr2の2つの文字列があり、アルファベットで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をチェックしてください。

于 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

比較はあなたが必要とするものです。

int c = string.Compare(a , b);
于 2012-04-23T13:03:01.777 に答える
1

ラベルに数字が含まれているようです。次に、試すことができますInt32.Parse

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

もちろん、いくつかのエラー チェックを追加することもできます (Int32.TryParse解析された int 値を見て、いくつかの変数に格納することもできますが、これが基本的な概念です。

于 2012-04-23T13:00:27.573 に答える
0

Int32.ParseInt32.TryParseまたはその他の同等のものを使用してください。その後、これらの値を数値的に比較できます。

于 2012-04-23T13:00:12.573 に答える