YIf what you need is a data structure that allows both direct and
sequential access to its elements, you can use a SortedList. 

This type is kept ordered by a key, allowing you sequentially access all
of its elements and implements the IDictionary interface, allowing
direct access to a specific key/value pair.

Here you have some code example:

using System;
using System.Collections;

namespace ConvertSamples
{
        class myApp
        {
                static void Main()
                {
                        SortedList sl = new SortedList();

                        // Fill some spots with sl[Key] = Value
                        sl["Hello"] = 1;
                        sl["World"] = 55;
                        sl["alo"] = 23;
                        sl["Boo"] = 1927;
                        sl["Foo"] = 1321;
                        
                        // Direct access using the Key
                        Console.WriteLine("Direct Access: Key=Hello,
Value={0}", sl["Hello"]);
                        Console.WriteLine("Direct Access: Key=World,
Value={0}", sl["World"]);

                        // Sequential access to all elements, ordered by
Key
                        foreach (DictionaryEntry item in sl)
                                Console.WriteLine("Sequential Access:
Key= {0}, Value= {1}", item.Key, item.Value);

                }
        }
}

Federico Raggi
Latam Developers Initiative Manager
Microsoft
 
Phone: (954)489-4862
Mobile: (954)465-4862

> -----Original Message-----
> From: Brad Wilson [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, May 23, 2002 11:40 AM
> To: [EMAIL PROTECTED]
> Subject: Re: [DOTNET] Hashtables and structs
> 
> Greg Gates wrote:
> 
> > 2) What is the most efficent way to sort and filter a hashtable in
.NET.
> 
> Hash tables are not stored in any ordered fashion. Retrieval will
appear
> to
> be random based on the hash algorithm used. Of course, you can
retrieve
> all
> the items and use your own sorting system as necessary.
> 
> If you need a collection that stays ordered (by key, generally), you
> should
> be looking for something more like a tree than a hash table. Nothing
like
> that ships with .NET that I'm aware of...
> 
> Brad
> 
> --
> Read my web log at http://www.quality.nu/dotnetguy/
> 
> You can read messages from the DOTNET archive, unsubscribe from
DOTNET, or
> subscribe to other DevelopMentor lists at http://discuss.develop.com.

You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to