Un par de respuestas ya ordenar los últimos números (que pueden ser correcta, ya que sólo está mostrando una lista ya ordenada). Si desea que los números "no seleccionados" se muestren en su pedido original , no necesariamente ordenado en lugar de ordenados, puede hacerlo;
int num = 3;
var result = list.Where(x => x == num).Concat(list.Where(x => x != num));
Como @DuaneTheriot señala, IEnumerable's extension method OrderBy hace una especie estable y no va a cambiar el orden de los elementos que tienen una clave iguales. En otras palabras;
var result = list.OrderBy(x => x != 3);
funciona igual de bien para ordenar 3 primero y mantener el orden de todos los demás elementos.
@Tim Schmelter, ¿qué pasa si quiero mostrar 3 en lat? – cracker
@cracker: cambie 'OrderByDescending' por' OrderBy' o 'i == 3' por' i! = 3' –