如果字符串大于或小于 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");
}
如果字符串大于或小于 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");
}
字符串不是数字,因此您按字典顺序进行比较(从左到右)。String.CompareTo
用于排序,但请注意"10"
“低于”,"2"
因为 char1
已经低于char 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
ifstring1
可能具有无效格式。这样,您可以防止出现异常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
}
但是,如果您想检查一个字符串是长于还是短于 10 个字符,则必须使用它的Length
属性:
if (string1.Length < 10)
{
Console.WriteLine("less than 10");
}
else if (string1.Length >= 10)
{
Console.WriteLine("10 or more");
}