如何忽略';0';在vb.net中比较列表的两个值时

如何忽略';0';在vb.net中比较列表的两个值时,vb.net,compare,comparison,string-comparison,Vb.net,Compare,Comparison,String Comparison,考虑 合并(i)的值。MessageNumber=756和 比较这两个值时,merge(j).MessageNumber1的值=0756 如何在vb.net中忽略0756中的“0” 建议我/帮助我 目前比较类似- If(merge(i).MessageNumber = merge1(j).MessageNumber1) Then Console.WriteLine("all fileds matched") 您可以使用TrimStart删除字符串开头的指定字符 If(merge(i).M

考虑 合并(i)的值。MessageNumber=756和 比较这两个值时,merge(j).MessageNumber1的值=0756

如何在vb.net中忽略0756中的“0”

建议我/帮助我

目前比较类似-

If(merge(i).MessageNumber = merge1(j).MessageNumber1) Then
   Console.WriteLine("all fileds matched")

您可以使用
TrimStart
删除字符串开头的指定字符

If(merge(i).MessageNumber.TrimStart("0"c) = merge1(j).MessageNumber1.TrimStart("0"c)) Then

但我建议,如果属性是一个数字,则将其视为一个数字,前导零不会成为问题。

您可以使用
TrimStart
删除字符串开头的指定字符

If(merge(i).MessageNumber.TrimStart("0"c) = merge1(j).MessageNumber1.TrimStart("0"c)) Then
If Cint(merge(i).MessageNumber) = Cint(merge1(j).MessageNumber1) Then Console.WriteLine("all fileds matched")


但我建议,如果属性是一个数字,那么将其视为一个数字,前导零不会成为问题。

所有的值都将表示数字吗?如果是这样,那么将它们转换为实际数字并进行比较。或者,您可以调用
TrimStart
删除前导的“0”字符。TrimStart将只影响以0开头的字符串?不在中间0?是的。它只是修饰了开头,线索就在名字里。证据在文件中。如果你能在文档中找到答案和/或自己测试,你不需要问我们任何问题。所有的值都代表数字吗?如果是这样,那么将它们转换为实际数字并进行比较。或者,您可以调用
TrimStart
删除前导的“0”字符。TrimStart将只影响以0开头的字符串?不在中间0?是的。它只是修饰了开头,线索就在名字里。证据在文件中。如果你能在文档中找到答案和/或自己测试,你不需要问我们任何问题。实际上,这是一个数字,从第一张excel表中获取一个MessageNumber数据,从第二张excel表中获取另一个MessageNumber数据,然后我比较这两个数据,如果相同,我将在第三张excel表中打印。那么,当可以进行整数比较时,为什么要进行字符串比较呢?哦。。。如果是数字,下面的代码是否足够?CInt((merge(i).MessageNumber=merge1(j).MessageNumber1))如果它有一个前导“0”,那么它不是一个数字。包含数字字符的
字符串仍然是
字符串
。实际上它是一个数字,从第一张excel表中获取一个MessageNumber数据,从第二张excel表中获取另一个MessageNumber数据,然后我比较这两个数据,如果相同,我将在第三张excel表中打印。那么,当可以进行整数比较时,为什么要进行字符串比较呢?哦。。。如果是数字,下面的代码是否足够?CInt((merge(i).MessageNumber=merge1(j).MessageNumber1))如果它有一个前导“0”,那么它不是一个数字。包含数字字符的
字符串仍然是
字符串
。这是您应该做的。这是您应该做的
If Cint(merge(i).MessageNumber) = Cint(merge1(j).MessageNumber1) Then Console.WriteLine("all fileds matched")