为什么字符串不一样?

时间:2016-06-29 19:15:36

标签: vb.net

我目前的代码是:

Dim currentversion As String = File.ReadAllText("C:\lol\update\currentversion.txt")
Dim newversion As String = File.ReadAllText("C:\lol\update\new.txt")

If currentversion Is newversion Then
    MessageBox.Show("VERSION IS THE SAME")
End If
If currentversion Is Not newversion Then
    MessageBox.Show("VERSION IS NOT THE SAME")
End If

为什么字符串不一样?怎么了? 在两个文本文件中都是相同的MEGA链接,例如“https://mega.nz/#!i8NgdfgdfgvufFf638vqGt7sA_yGdrefdgeVrnf_E3434”(链接现在不是真实的)。 谢谢你的帮助!

Hannir

更新

原因是一个文件有一个空行。我刚刚使用

修复了它
currentversion = currentversion.Trim()

格尔茨, Hannir

1 个答案:

答案 0 :(得分:3)

因为他们是不同的对象:

Dim currentversion
Dim newversion

单独的变量,内存中的单独实例,单独的引用。 the Is operator比较引用,而不是值。如果您想比较这些值,则需要查找等于运算符:

If currentversion = newversion Then
  '...
Else
  '...
End If

或者.Equals()或许If currentversion.Equals(newversion) Then '... Else '... End If 取决于被比较的对象以及它们是否实现:

{{1}}

除此之外,字符串可能不等于。毕竟,他们正在从不同的文件中读取......