sampleVariable As Boolean = My.settings.sampleSettings(boolean dataType)不起作用

时间:2016-02-27 00:55:41

标签: vb.net if-statement visual-studio-2015 boolean my.settings

我有2个方案涉及将My.Settings.sampleSettingsdataType booleansampleVariable一起用作data type boolean

代码:由于sampleVariable和sampleSettings都是布尔值,我将它们声明为

Dim sampleVariable As Boolean = My.Settings.sampleSettings
Console.WriteLine("Result: " & sampleVariable)
If sampleVariable = False Then
    Console.WriteLine("1")
    sampleVariable = True
Else
    Console.WriteLine("2")
    sampleVariable = False
End If
My.Settings.Save()

输出:输出似乎不满足条件1,它总是满足条件2,这是假的

Result: False
1
Result: False
1
Result: False
1

代码:在这段代码中,我没有将sampleSettings放到一个布尔变量中,而且工作正常。

Console.WriteLine("Result: " & My.Settings.sampleSettings)
If My.Settings.sampleSettings = False Then
    Console.WriteLine("1")
    My.Settings.sampleSettings = True
Else
    Console.WriteLine("2")
    My.Settings.sampleSettings = False
End If
My.Settings.Save()

输出:每当我点击按钮时,它会触发不同的条件,这是我的目标。

Result: False
1
Result: True
2
Result: False
1

问题:如何将My.Settings.sampleSettings正确包含到布尔变量中?

1 个答案:

答案 0 :(得分:5)

在第一个代码块中,您不会更改设置的值。您只是更改变量的值。

sampleVariable = True

这只会更改sampleVariable的值。它更改My.Settings.sampleSettings

的值

在第二个代码块中, 更改My.Settings.sampleSettings的值,这就是保存该值的原因。