Я хотел бы сравнить два строковых значения, как это:сравнить два значения строки
if (lblCapacity.Text <= lblSizeFile.Text)
Как я могу это сделать?
Я хотел бы сравнить два строковых значения, как это:сравнить два значения строки
if (lblCapacity.Text <= lblSizeFile.Text)
Как я могу это сделать?
Использовать Int32.Parse
, Int32.TryParse
или другим эквивалентом. Вы можете затем численно сравнить эти значения.
Похоже, что этикетки содержат цифры. Тогда вы могли бы попробовать Int32.Parse
:
if (int.Parse(lblCapacity.Text) <= int.Parse(lblSizeFile.Text))
Конечно, вы можете добавить проверки некоторые ошибки (смотрите на Int32.TryParse
и, возможно, сохранить разобранные Int значения некоторых переменных, но это основная концепция
Если. у вас есть целые числа в текстовом поле тогда,
int capacity;
int fileSize;
if(Int32.TryParse(lblCapacity.Text,out capacity) &&
Int32.TryParse(lblSizeFile.Text,out fileSize))
{
if(capacity<=fileSize)
{
//do something
}
}
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.
+1, это то, что я буду требовать, если кто-то напишет код для моего магазина – Steve
Сравните это то, что вам нужно.
int c = string.Compare(a , b);
Если вы хотите '" 11 "<" 2 "== true'. –
Вопрос не указывает его числовое значение – Yeshvanthni
Я предполагаю, что вы сравниваете строки в 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");
}
Этот вышеприведенный код вернет да. Существует много перегруженных версий String.Compare, включая некоторые, где вы можете игнорировать регистр, или использовать строки форматирования. Выезд String.Compare.
Конечно, я забыл упомянуть, что свойство Control.Text возвращает строку, поэтому String.Compare - это то, что я использовал. –
Свойства текста являются числовыми значениями? Вы можете использовать 'Int32.Parse' – Siege
Что означает' <= 'в этом контексте? – Oded
@Oded: я полагаю, что меньше или равно относительно лексикографической сортировки – DonCallisto