2011-01-30 19 views
6

Después de volver a meterse en Python, estoy empezando a notar y ser molestado cada vez más por mi C# codificación estilo que requiere apoyos en todas partesOcultar llaves en C#

if (...) 
{ 
    return ...; 
} 
else 
{ 
    return ...; 
} 

prefiriendo la pitón (subjetiva) mucho más limpio que mira contra-parte

if ...: 
    return ... 
else 
    return ... 

¿hay alguna manera de que pueda ir acerca de cómo ocultar estos aparatos (como lo hacen tomar hasta aproximadamente el 30% de mi pantalla de codificación de media y apenas se ven feos!)

+0

¿Qué programa estás usando para editar tu código? – Cameron

+6

Solo omítalos. Para declaraciones individuales, no las necesita en C#. – Rauhotz

+0

vs 2010, con R # – Joe

Respuesta

9

Lo sentimos, pero si usted está de codificación en C# y hacer más de simples bloques de una sola expresión, vas a tener que aguantar. gramática "indent-denota-scope" de Python puede ser agradable, pero es Python, no en C#.

+2

+1 para "chuparlo" :) – Skilldrick

+3

sí ... simplemente lo chupé – Joe

5

se puede cambiar a :

if (...) { 
    return ...; 
} else { 
    return ...; 
} 

para obtener un poco de pantalla.

Creo que es una mala idea pretender que C# funciona como Python.

+1

+1 para la última oración. – BoltClock

+0

lamentablemente, el espacio en la pantalla es solo la mitad del problema, si pudiera ocultarlos por completo se vería mejor. de hecho cambié a tener {en una línea para mejorar la legibilidad. – Joe

+0

@Joe No creo que "se vea mejor" es razón suficiente para hacer esto. Si vas a usar mucho C, harás mucho mejor para acostumbrarte a la sintaxis. – Skilldrick

0

Bueno, se puede omitir las llaves en C#, siempre y cuando los if y else "bloques" son declaraciones simplemente individuales:

// perfectly legal 
if (...) 
    return ... 
else 
    return ... 

Si necesita varias líneas if y else bloques entonces estás atrapado con llaves.

-1

Para declaraciones simples, no necesita las llaves. Para los tiempos que los necesite usted puede estar bien con la colocación de los tirantes como:

if(expr) { 
    ... 
} else { 
    ... 
} 
2
if (condition) { 
    statement1 
    statement2; } 
else { 
    statement3; 
    statemen4; } 

mucho más feo en mi opinión :(

+2

ewwww ... eso es horrible ... jeje – Joe

+0

Si solo fuera posible elegir el mismo color de primer plano para los apoyos como el color de fondo del editor en Visual Studio podría ser una excelente idea. – Lispwave

0
  1. no es necesario los corchetes si solo tiene una declaración . Por ejemplo, el siguiente está trabajando:

    for (int i = 0; i < 10; i++) 
        if (i == 9) 
         break; 
    

(a pesar de que el código no tiene ningún sentido)

  1. Puede cambiar la configuración en Visual C# para el formato de código C# como dice Skilldrick , para hacer que el código sea más corto:

Vaya a Herramientas -> Opciones -> Editor de texto -> C# -> formateo (o algo similar, solo tengo la versión alemana de Visual Studio).

Espero que ayude

-1

Salida scribes, es un muy buen editor que se puede personalizar en gran medida, y estoy seguro de que usted puede hacer lo que sea necesario con ella.

+0

scribes ni siquiera es para Windows, y ¿cómo va a hacer lo que necesito con él? – Joe

0

C/C++/Java/C# personas tienen un viejo tipo de fecundidad familiar racista con el clan Cobol/BASIC/Python. Es una o las cosas reales ...No se permite el mejor de los dos, tener-pasteles-y-comer-ellos-demasiado divertido :)

1

Si necesita .NET pero al igual que la sintaxis de Python, es posible que desee comprobar Boo.

+0

+1 He leído, mientras que boo puede no satisfacer mis necesidades simplistas de ocultar llaves, podría eventualmente satisfacer mi deseo de escribir como python en .net ... pero ¿no es eso lo que hace IronPython? ..google ... aparentemente también hay algunas diferencias – Joe

0

Si se siente realmente mal:

if (iAmEvil)                            { 
    LookMa(); 
    NoBraces(); 
    OrSemiColonsForThatMatter()                       ;} 
else { 
    IfYouDontGetIt(); 
    ScrollRight(); 
} 

Por supuesto, es probable que haya más problemas de lo que vale.

+0

me preguntaba cómo fue posible, copie y pegue en linqpad y vea el texto "oculto". No estoy seguro de si esto es apropiado como respuesta, tentado a rechazar (desde el punto de vista del ruido). – Joe

+0

que sonó más áspero de lo previsto, fue gracioso :) no vindicó ... pero aún no estoy seguro de si debería ser una respuesta ... O_O – Joe

+0

Bueno, http://stackoverflow.com/help/privileges/vote-down states que los votos abajo son para "una publicación descuidadamente descuidada, sin esfuerzo, o una respuesta que es clara y tal vez peligrosamente incorrecta". Mi 'solución' * * hace * el trabajo (esconde llaves y puntos y comas), y ciertamente requirió un poco de esfuerzo de mi parte para escribir todos esos espacios. Según esos estándares, estoy bastante seguro de haber hecho una respuesta perfectamente válida. Si quieres declinar, entonces adelante, el humor vale la pena :) – YellPika