public int CompareTo(SymbolInfo si) { int result = 0; if (si._IsBold() && _IsBold()) { result = string.Compare(si.InfoName, InfoName); } else if (si._IsBold() && !_IsBold()) { result = -1; } else if (!si._IsBold() && _IsBold()) { result = 1; } else { result = string.Compare(si.InfoName, InfoName); } // first list of bolds return(result * -1); }