【问题标题】:My code always returns true, even when it should be false我的代码总是返回真,即使它应该是假的
【发布时间】:2014-05-06 14:13:00
【问题描述】:

我想知道是否可以得到一些帮助以使这项工作正常进行。

    DevCon = File.ReadAllText("DevConDump.txt")
    DevID = File.ReadAllText("isLegacy.txt")
    DevCon = DevCon.ToUpper
    DevID = DevID.ToUpper
    Dim words As String() = DevID.Split(New Char() {","c})
    For Count = 0 To words.Length
        If DevID.Contains(words.ElementAt(Count)) = True Then
            MsgBox(DevID.Contains(words.ElementAt(Count)))
            MsgBox(words.ElementAt(Count))
            'RegKey.CreateSubKey("Intel_DEVID")
            'RegKey.SetValue("Intel_DEVID", "isLegacy")
            'RegKey.Close
            MsgBox("isLegacy")
        End If
    Next

DevConDump.txt 包含单行文本,其中包含一些可以告诉我它是什么的信息(在这种情况下,是一组字母和数字,例如“DEV_0011”,被无用的信息包围。

isLegacy.txt 包含一个可能包含的值列表。

当我运行此代码时,即使它正在检查的值明显错误(例如,如果我将字符串 PETER 放入其中)它总是返回 true,即该值不存在。

谁能告诉我哪里出错了?

VB.NET,VS2010

【问题讨论】:

  • 我在这里看不到任何Return True
  • 你返回什么?
  • 这种情况下,如果返回true,则将“isLegacy”写入注册表,一直执行到完成。 (此代码已被注释掉,直到我能解决这个问题。)

标签: vb.net visual-studio-2010 for-loop contains


【解决方案1】:

除非我遗漏了 DevID 和单词包含相同数据的内容:

 Dim words As String() = DevID.Split(New Char() {","c})

所以

 DevID.Contains(words.ElementAt(Count)) = True 

永远都是真的。

您是否打算:

DevCon.Contains(words.ElementAt(Count)) = True 

【讨论】:

  • 谢谢!就是这样!将接受作为答案,然后它让我在 3 分钟内! :)(我不敢相信我错过了......)
  • NP 每个人有时都需要第二双眼睛
猜你喜欢
  • 2020-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-02
  • 2013-03-23
  • 1970-01-01
  • 2013-12-28
相关资源
最近更新 更多