http://bugzilla.novell.com/show_bug.cgi?id=616416
http://bugzilla.novell.com/show_bug.cgi?id=616416#c0 Summary: Array.Sort() doesnt sort Classification: Mono Product: Mono: Runtime Version: SVN Platform: 64bit OS/Version: RHEL 5 Status: NEW Severity: Major Priority: P5 - None Component: misc AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; WOW64; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152) The given sample test gives different results under windows .net and mono. Note that it seems to have something to do with IComparer. If you explicitly change the comparer to null in the Sort method it will work but in both cases the comparer is null which is the really strange thing. Reproducible: Always Steps to Reproduce: Run the following Test under windows .net and mono it will generate different results: public class SortClass<T> where T : IComparable<T> { public void Sort(T[] values, IComparer comparer) { T[] doubleValues = new T[11]; doubleValues[0] = values[0]; doubleValues[1] = values[1]; doubleValues[2] = values[2]; doubleValues[3] = values[3]; doubleValues[4] = values[4]; doubleValues[5] = values[5]; doubleValues[6] = values[6]; doubleValues[7] = values[7]; doubleValues[8] = values[8]; doubleValues[9] = values[9]; doubleValues[10] = values[10]; int[] indices = new int[11]; indices[0] = 0; indices[1] = 1; indices[2] = 2; indices[3] = 3; indices[4] = 4; indices[5] = 5; indices[6] = 6; indices[7] = 7; indices[8] = 8; indices[9] = 9; indices[10] = 10; //the comparer passed in is null //try changing the comparer to null and see how the sorting is changed even though //both times the comparer is really null, kind of strange Array.Sort(doubleValues, indices, comparer); foreach (T doubleValue in doubleValues) { Console.WriteLine("DoubleValue: " + doubleValue); } foreach (int index in indices) { Console.WriteLine("IndexValue: " + index); } } } [Test] public void testSort() { double[] doubleValues = new double[11]; doubleValues[0] = 0.221788066253601; doubleValues[1] = 0.497278285809481; doubleValues[2] = 0.100565033883643; doubleValues[3] = 0.0433309347749905; doubleValues[4] = 0.00476726438463812; doubleValues[5] = 0.1354609735456; doubleValues[6] = 0.57690356588135; doubleValues[7] = 0.466239434334826; doubleValues[8] = 0.409741461978934; doubleValues[9] = 0.0112412763949565; doubleValues[10] = 0.668704347674307; SortClass<double> sortClass = new SortClass<double>(); sortClass.Sort(doubleValues,null); } -- 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. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
