C#大于或等于代码字符串的字符串

问题描述 投票:6回答:1

如果字符串大于或小于10,我试图使我的代码能够正常工作,但是它不能正常工作。即使值小于10,它也会写入10或更多。

int result = string1.CompareTo("10");
if (result < 0)
{
     Console.WriteLine("less than 10");
}
else if (result >= 0)
{
     Console.WriteLine("10 or more");
} 
c# string string-comparison
1个回答
22
投票

字符串不是数字,所以您要按字典顺序进行比较(从左到右)。 String.CompareTo用于订购,但是请注意String.CompareTo"10"“低”,因为字符"2"已经比1低。我假设您想要将其转换为2

int

注意,如果int i1 = int.Parse(string1);
if (i1 < 10)
{
    Console.WriteLine("less than 10");
}
else if (i1 >= 10)
{
    Console.WriteLine("10 or more");
} 
的格式无效,则应使用int.TryParse。这样,您可以防止int.TryParse出现异常,例如:

string1


但是,如果您要检查的字符串是小于10个字符的

longer

shorter
,则必须使用其int.Parse属性:int i1; if(!int.TryParse(string1, out i1)) { Console.WriteLine("Please provide a valid integer!"); } else { // code like above, i1 is the parsed int-value now }
© www.soinside.com 2019 - 2024. All rights reserved.