0

У меня есть 2 сценариев, которые включает в себя использование My.Settings.sampleSettings с dataType boolean и sampleVariable, как data type boolean.sampleVariable As Boolean = My.settings.sampleSettings (логический тип данных) не работает

Код: Так как 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 к логическому V и он работает нормально.

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 к логической переменной?

ответ

5

В первом блоке кода вы не изменяете значение параметра. Вы изменяете значение переменной только.

sampleVariable = True 

Это только изменяет значение sampleVariable. Это не изменить значение My.Settings.sampleSettings.

Во втором блоке кода вы :, изменяя значение My.Settings.sampleSettings, поэтому значение сохраняется.