logo       

RE: SOLUTION: Moving object order in a collection in C#: msg#00049

Subject: RE: SOLUTION: Moving object order in a collection in C#
Keith,

You should be able to have the CarPref class implement IComparable, then
just call List.Sort(). IIRC, implementing IComparable consists of writing
only 1 method (Compare() or CompareTo(), something like that).

-- Nick


-----Original Message-----
From: padnug@xxxxxxxxxxxxxxx [mailto:padnug@xxxxxxxxxxxxxxx] On Behalf Of
Keith R. Pinster
Sent: Tuesday, August 23, 2005 12:55 PM
To: padnug@xxxxxxxxxxxxxxx
Subject: [padnug] SOLUTION: Moving object order in a collection in C#


Here's how I decided to do it:

Instead of using an Order field, I use the following code in the 
MoveUp and MoveDown methods:

public void MoveDown(CarPref carPref)
{
        CarPref carCopy = new CarPref(carPref.Model, carPref.Make);
        List.Insert(List.IndexOf(carPref)+2, carCopy );
        List.Remove(carPref);
}
public void MoveUp(CarPref carPref)
{
        CarPref carCopy = new CarPref(carPref.Model, carPref.Make);
        List.Insert(List.IndexOf(carPref)-1, carCopy );
        List.Remove(carPref);
}

I haven't tested it yet, but it looks like it'll work.  I'll report 
back once I have it running, just in case anyone else is interested.

--- In padnug@xxxxxxxxxxxxxxx, "Keith R. Pinster" <dimondwoof@xxxx> 
wrote:
> I've got an object that has a set of sub-objects.  I want to be
able to 
> retrieve the sub-objects in a certain order.  Is there a way to
change 
> the index of the sub-objects?
> 
> E.G:
> Favorites:
> Cars:
>  1. Corvette
>  2. Nova
>  3. Firebird
> 
> User wants to change the order so that it reads:
>  1. Corvette
>  2. Firebird
>  3. Nova
> 
> Currently I'm tracking the order with an Order int field, but this
> seems really messy and error prone.  Any ideas?





 
Yahoo! Groups Links



 







------------------------ Yahoo! Groups Sponsor --------------------~--> 
<font face=arial size=-1><a 
href="http://us.ard.yahoo.com/SIG=12h0pacph/M=362335.6886445.7839731.1510227/D=groups/S=1705007709:TM/Y=YAHOO/EXP=1124836882/A=2894361/R=0/SIG=13jmebhbo/*http://www.networkforgood.org/topics/education/digitaldivide/?source=YAHOO&cmpgn=GRP&RTP=http://groups.yahoo.com/";>In
 low income neighborhoods, 84% do not own computers. At Network for Good, help 
bridge the Digital Divide!</a>.</font>
--------------------------------------------------------------------~-> 

 


<Prev in Thread] Current Thread [Next in Thread>