[英]How can I check a string has a higher number than another string?
我有两个字符串:
var a = "200309";
var b = "200317";
我试过
if (a > b)
但这不起作用并给我一个错误。
如何检查一个字符串是否比另一个字符串具有更大的值?
如果您确定字符串包含有效数字,则可以使用Int32.Parse
var result = Int32.Parse(a) + Int32.Parse(b);
但是,如果字符串是用户输入,或者数字可能无效,您可以使用Int32.TryParse
。
例如,
var result = Int32.TryParse(a,out var valA) && Int32.TryParse(b,out var valB) ?
valA+valB
: throw new Exception("String cannot be converted to number");
或者使用传统的if
条件
if(Int32.TryParse(a,out var valA) && Int32.TryParse(b,out var valB))
{
var result = valA+valB;
}
else
throw new Exception("String cannot be converted to number");
上面的代码检查两个数字是否都可以转换为Int32
。 如果是,它将产生结果,否则引发异常。
尝试这个。
var a ="200309";
var b = "200317";
int comparison = Console.WriteLine(string.Compare(a,b));
if(comparison>0)
{
//Your Condition
}
else if(comparison<0)
{
}
else
{
}
此比较将为您提供 (1,0,-1) 0 的答案-您的比较匹配。 (1,-1)- 您的比较不匹配。
C# 不能那样工作。 尝试使用 int.Parse() a 和 b 并将它们作为整数进行比较。
另外,如果您必须比较 yy/mm/dd 日期,也许最好在比较之前将它们转换为 DateTime 以防止出现意外的逻辑问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.