/ / Ako môžem urobiť slučku for s názvom a hodnotou my.settings vb.net? - vb.net, for-loop, vlastnosti, my.settings

Ako môžem urobiť za slučku s názvom a hodnotou vb.net my.settings? - vb.net, for-loop, properties, my.settings

Chcel by som s tým nejakú pomoc, skúsil som hľadať na google a skúšal hľadať tu bez šťastia.

to, čo som sa doteraz pokúsil, je toto:

For Each value As Configuration.SettingsPropertyValue In My.Settings.PropertyValues

Dim myrecord As String = My.Settings.PropertyValues.ToString

sql_all_matching_records = String.Format("")

Next

tu zadajte popis obrázku ale toto sa preskočí, keď spustím debugger režim a vložím bod prerušenia do cyklu for.

čo chcem urobiť, je byť schopný opakovaťv premennej my.settings a potom prevezmite jej hodnotu a porovnajte ju s vyhľadaním SQL. Jediná vec, s ktorou bojujem, je opakovanie cez my.settings.

EDIT1: ABOVE bola zodpovedaná, avšak ak ste dostali chybu na obrázku, napísal ste kód nesprávne? nie som si istý, či rozumiem tomu, čo sa mi vb.net snaží povedať. Myslel som, že je to správne.

odpovede:

2 pre odpoveď č. 1

Trochu vylúčenia zodpovednosti, nie som oboznámenýako a kedy sa nastavenia načítajú a kolekcia PropertyValues ​​sa zaplní, zdá sa však, že nič neudrží, kým sa nedosiahne hodnota nastavenia. Je to obťažné riešenie, ale zdá sa, že schmatnutie hodnoty z nastavení pred opakovaním v kolekcii ju vyplní. , Vaša výnimka InvalidCast sa vyskytuje, pretože sa snažíte nastaviť myrecord = a collection.tostring. Už vieme, že kolekcia má viacero hodnôt, pretože ich opakujeme, takže na ňu nemôžeme len zavolať. „Array.ToString (), jednoducho to nefunguje. Myslím, že to, čo skutočne hľadáte, je hodnota.PropertyValue.ToString, ktorá udrží hodnoty nastavení, ktoré sa snažíte získať. dostanete toto:

    Dim dummy As String = My.Settings.dummySetting
For Each value As System.Configuration.SettingsPropertyValue In My.Settings.PropertyValues

"Dim myrecord As String = My.Settings.PropertyValues.ToString
Dim myrecord As String = value.PropertyValue.ToString

sql_all_matching_records = String.Format("")
Next

DummySetting je iba prázdna hodnota, ktorú som dal do nastavení, aby som ju mohol zavolať. Dúfam, že to pomôže


0 pre odpoveď č. 2

Myslím, že váš riadok # 2 je nesprávny ...

For Each value As Configuration.SettingsPropertyValue In My.Settings.PropertyValues

Dim myrecord As String = value.ToString

sql_all_matching_records = String.Format("")

Next

Neskúšal som váš kód, ale myslím si, že to, čo robíte vo svojom riadku 3, berie všetky vlastnosti každého nastavenia a zreťazuje ich do jedného.

Upravené tak, aby ukazovalo na správny riadok # 2, nie # 3