Sono impegnato a prepararsi per l'esame MCTS 70-536, secondo il libro esame (Microsoft Press - .NET Framework - Application Development Foundation a ritmo corredo di addestramento 2a edizione), questo codice di esempio:ArrayList BinarySearch
ArrayList al = new ArrayList();
al.AddRange(new string[] { "Hello", "world", "this", "is", "a", "test" });
Console.WriteLine(al.BinarySearch("this"));
Invia il valore '2' alla console perché l'elemento 'questo' è all'indice 2. D'accordo è l'output che ottengo quando eseguo quel codice.
Tuttavia, se corro
Console.WriteLine(al.BinarySearch("world"));
mi aspetto di ottenere il valore 1 nella console dal 'mondo' sarebbe nella posizione di indice 1, ma ottengo il -7 valore?
Qualcuno potrebbe spiegare come funziona?
Grazie
Grazie per avermi dato risultati migliori. Sono abbastanza sorpreso dall'errore nel libro. Sembrava un po 'strano avere un .BinarySearch (s) e un metodo .IndexOf (s) facendo la stessa cosa. –