Hallo,
Ik heb een array:
Nu vul ik die met gegevens uit een textbestand in een while lus, elke lijn heeft dit formaat:
property=value
Nu split ik deze lijn in de while lus zodat ik de property en value krijg, nu zet ik deze per lijn in de array, op plaats 0,1 => 2,3 => 4,5 zodat als ik dus een property zoek zoals bijv. "proptype" de eerst volgende index de value van die property is..
Maar nu wil ik zoeken m.b.v. BinarySearch(), maar er wordt geen enkele waarde gevonden, nu kwam ik erachter dat die array eerst ge'Sort()' moest worden, dan werkt het prima, alleen klopt de logica van "4 de property, 5 de waarde etc." niet meer doordat alles 'door de war' staat..
(misschien is dit allemaal wel veel te omslachtig, maar het gaat erom dat ik de propery/value waardes die bijelkaar horen later kan uitlezen.)
Een ander idee is misschien om in de While lus de property te matchen in een Switch blok, maar dat heeft voor mij weer nadelen...
Dus mijn vraag, kan ik zoeken in deze array zonder dat ie niet gesort hoeft te worden?
Bij voorbaat dank,
Ik heb een array:
C#:
1
| string[] sfArray = new string[35]; |
Nu vul ik die met gegevens uit een textbestand in een while lus, elke lijn heeft dit formaat:
property=value
Nu split ik deze lijn in de while lus zodat ik de property en value krijg, nu zet ik deze per lijn in de array, op plaats 0,1 => 2,3 => 4,5 zodat als ik dus een property zoek zoals bijv. "proptype" de eerst volgende index de value van die property is..
C#:
1
2
3
4
5
6
7
| if (Splitted.Length == 2) { sfArray[i] = Splitted[0]; i++; sfArray[i] = Splitted[1]; i++; } |
Maar nu wil ik zoeken m.b.v. BinarySearch(), maar er wordt geen enkele waarde gevonden, nu kwam ik erachter dat die array eerst ge'Sort()' moest worden, dan werkt het prima, alleen klopt de logica van "4 de property, 5 de waarde etc." niet meer doordat alles 'door de war' staat..
C#:
1
2
3
4
5
6
7
| Array.Sort(sfArray); int sIndex = Array.BinarySearch(sfArray, "model"); if (sIndex >= 0) { // Zoals hieronder zou het moeten werken, hier klopt nu de value dus niet. MessageBox.Show(sfArray[sIndex].ToString() + " gevonden. Value = " + sfArray[sIndex + 1].ToString()); } |
(misschien is dit allemaal wel veel te omslachtig, maar het gaat erom dat ik de propery/value waardes die bijelkaar horen later kan uitlezen.)
Een ander idee is misschien om in de While lus de property te matchen in een Switch blok, maar dat heeft voor mij weer nadelen...
Dus mijn vraag, kan ik zoeken in deze array zonder dat ie niet gesort hoeft te worden?
Bij voorbaat dank,