List Sorted incorrectly <p>i have following code </p> <pre><code>List&lt;TimeZoneInfo&gt; timeZoneList = new List&lt;TimeZoneInfo&gt;(TimeZoneInfo.GetSystemTimeZones()); timeZoneList.Sort((item1, item2) =&gt; { return string.Compare(item2.Id, item1.Id); }); </code></pre> <p>but it does not sort the list correctly. (using linq.OrderBy() yields same result).<br> but the following code sorts correctly.</p> <pre><code>List&lt;string&gt; timeZoneList1 = new List&lt;string&gt;(); foreach (TimeZoneInfo timeZoneInfo in TimeZoneInfo.GetSystemTimeZones()) timeZoneList1.Add(timeZoneInfo.Id); timeZoneList1.Sort((item1, item2) =&gt; { return string.Compare(item1, item2); }); </code></pre> <p>what is the problem? what do i missing? </p> <p>really?<br> no one knows the answer?</p> <p>--------------------------- EDIT ------------------------------------<br> where as i assign the list to a Combobox, it will appears in the wrong order but it will be fixed when i set the DisplayMember of the Combobox. can any one explain this behavior? </p>