And I fond that when I don't Sort() first,
    al.AddRange ...
    al.Reverse();
    Console.WriteLine(al.BinarySearch("this"));
displays 2, a right number.
What have the Sort() and Reverse() done with the ArrayList?

Can anyone tell some inner mechanism about this?
Thx.

On 4月27日, 下午5时41分, Jingle <[email protected]> wrote:
> Thank you for the answer.
> But Why The
>
>     al.AddRange ...
>     al.Sort();
>     al.Reverse();
>     Console.WriteLine(al.BinarySearch("this"));
> displays -7
>
>     al.AddRange ...
>     al.Sort();
>     al.Reverse();
>     al.Reverse();
>     Console.WriteLine(al.BinarySearch("this"));
> displays 4 ?
> The different is just one more al.Reverse().
>
> On 4月27日, 下午4时47分, Jamie Fraser <[email protected]> wrote:
>
>
>
> > Generally when using a BinarySort, a negative number indicates that
> > the element wasn't found. The reason for the negative -X rather than
> > -1 is because the sort returns the element it "got to" during its
> > search before it realised that the element wasn't present.
>
> > On Tue, Apr 27, 2010 at 3:25 AM, Jingle <[email protected]> wrote:
> > > Hi All,
> > > I'm learning MCTS 70-536. These are some codes from Chapter 4:
>
> > >    ArrayList al = new ArrayList();
> > >    al.AddRange(new string[] { "Hello", "world", "this", "is", "a",
> > > "test" });
> > >    Console.WriteLine(al.BinarySearch("this"));
>
> > > It displays 2 . but when I change the code to this:
>
> > >    ArrayList al = new ArrayList();
> > >    al.AddRange(new string[] { "Hello", "world", "this", "is", "a",
> > > "test" });
> > >    al.Sort();
> > >    al.Reverse();
> > >    Console.WriteLine(al.BinarySearch("this"));
>
> > > It displays -7 . (yet when I add one more "al.Reverse()" into the
> > > code, it displays 4 )
>
> > > I've tested that only the code above gets a nagative number, other
> > > groups by some "al.Sort" and some "al.Reverse" all display a right
> > > number.
> > > Anyone who can help to explain ? Thanks!
>
> > > --
> > > Subscription 
> > > settings:http://groups.google.com/group/dotnetdevelopment/subscribe?hl=en

Reply via email to