[Mono-bugs] [Bug 612858] New: Foreach over a generic dictionary is not ordered the same way under linux and windows

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Jun 9 08:59:07 EDT 2010



           Summary: Foreach over a generic dictionary is not ordered the
                    same way under linux and windows
    Classification: Mono
           Product: Mono: Class Libraries
           Version: 1.2.0
          Platform: x86-64
        OS/Version: Mandrake 7.0
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: System
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: kaderli at glauxsoft.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:
Gecko/20100401 Firefox/3.6.3

If you use a foreach for iteration over a dictionary, the sort order is not the
same on windows as on linux.

Sample Code:
        Dictionary<int,string> _blub = new Dictionary<int, string>();
        static void Main(string[] args)
            Program p = new Program();
        private void TestDict()
            _blub.Add(3, "first");
            _blub.Add(0, "fourth");

            foreach (KeyValuePair<int, string> valuePair in _blub)
                Console.WriteLine("{0} : {1}", valuePair.Key, valuePair.Value);

Result on linux:
suntsu at suntsu:~$ mono MonoDictTest.exe
0 : fourth
2 : second
3 : first
4 : third

Result on windows:
3 : first
2 : second
4 : third
0 : fourth

On windows the default order is the same as the items were added, on linux, the
default order is the key.


Reproducible: Always

Steps to Reproduce:

Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.

More information about the mono-bugs mailing list