Kilka odpowiedzi już uporządkować kilka ostatnich numerów (które mogą być poprawne, ponieważ jesteś tylko wykazujące już posortowana lista). Jeśli chcesz, aby numery "niewybranych" były wyświetlane w ich oryginalnym, niekoniecznie posortowanym porządku, zamiast sortowania, możesz zamiast tego zrobić;
int num = 3;
var result = list.Where(x => x == num).Concat(list.Where(x => x != num));
Jak @DuaneTheriot wskazuje IEnumerable's extension method OrderBy ma stabilną rodzaju i nie zmienić kolejność elementów, które mają równe klucz. Innymi słowy;
var result = list.OrderBy(x => x != 3);
działa równie dobrze, aby najpierw sortować 3 i zachować kolejność wszystkich pozostałych elementów.
@Tim Schmelter, co jeśli chcę pokazać 3 w lat? – cracker
@cracker: zmień 'OrderByDescending' na' OrderBy' lub 'i == 3' na' i! = 3' –