次のように、2 つの文字列値 を比較したいと思います。
if (lblCapacity.Text <= lblSizeFile.Text)
どうすればいいですか?
文字列を辞書式順序で比較していると想定しています。この場合、静的メソッド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をチェックしてください。
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.
テキストボックスに整数がある場合、
int capacity;
int fileSize;
if(Int32.TryParse(lblCapacity.Text,out capacity) &&
Int32.TryParse(lblSizeFile.Text,out fileSize))
{
if(capacity<=fileSize)
{
//do something
}
}
比較はあなたが必要とするものです。
int c = string.Compare(a , b);
ラベルに数字が含まれているようです。次に、試すことができますInt32.Parse
:
if (int.Parse(lblCapacity.Text) <= int.Parse(lblSizeFile.Text))
もちろん、いくつかのエラー チェックを追加することもできます (Int32.TryParse
解析された int 値を見て、いくつかの変数に格納することもできますが、これが基本的な概念です。
Int32.Parse
、Int32.TryParse
またはその他の同等のものを使用してください。その後、これらの値を数値的に比較できます。