私はSystem.Collections.Specialized.StringCollection
としてMySettings
(USR1、USR2、Usr3、Usr4)に4つのオブジェクトを設定しました。My.Settingsデータを削除する方法
私はそれにこの方法を値を与える(とそれが動作する):
For x As Integer = 1 To 4
If My.Settings.Item("Usr" & x.ToString) Is Nothing Then
My.Settings.Item("Usr" & x.ToString) = New System.Collections.Specialized.StringCollection _
From {Me.TBox_Name.Text, _
Me.Tbox_Surname.Text, _
Me.TBox_City.Text, _
Me.CBox_Age.Text}
My.Settings.Save()
Saved = True
Exit For
End If
Next
私は何もレコードと設定されたオブジェクトを削除しようとすると、私は
これは何I'vであると一致することはできませんtryed:
Dim ToDelete = New System.Collections.Specialized.StringCollection _
From {Me.TBox_Name.Text, _
Me.Tbox_Surname.Text, _
Me.TBox_City.Text, _
Me.CBox_Age.Text}
If Not My.Settings.Usr1 Is Nothing AndAlso My.Settings.Usr1.Equals(ToDelete) Then
My.Settings.Usr1 = Nothing
End If
If Not My.Settings.Usr2 Is Nothing AndAlso My.Settings.Usr2.Equals(ToDelete) Then
My.Settings.Usr2 = Nothing
End If
If Not My.Settings.Usr3 Is Nothing AndAlso My.Settings.Usr3.Equals(ToDelete) Then
My.Settings.Usr3 = Nothing
End If
If Not My.Settings.Usr4 Is Nothing AndAlso My.Settings.Usr4.Equals(ToDelete) Then
My.Settings.Usr4 = Nothing
End If
しかし、私は決して等しいとは見当たりません。
私は設定から値を取得し、テキストボックスにそれらを置くしようと試みました。だから私は、テキストボックスの値は私の設定と等しいが、私のコードはそれを認識しないと確信しています。
どこが間違っていますか?
別の方法がありますか?
「等しい」は、あなたのためにコレクションの各要素をチェックしません。コレクションは参照オブジェクトなので、同じオブジェクトであるかどうかをテストします。彼らは決してなりません。あなたは何かのリストにリストを使用して(ユーザーの)、それをシリアル化するのではなく(あなたのヒントは、常に便利です)、私はない素晴らしいコード(オブジェクトに文字列をループ解決してきたデータベースとして – Plutonix
@Plutonix感謝を設定を使用しようとしたほうが良いと思いますしかし働く)PS私はoption strict;を使い始めました。 – genespos