2010-12-17 9 views

Respuesta

22

De esta manera:

A() { new A(); } 
+0

Una línea, pero tiene menos caracteres y produce una excepción * real * ... +1 (¿no es necesario un retorno 'void' en C#?) – BoltClock

+0

@BoltClock: Es un constructor. – SLaks

+0

Ah bien. Veo que acaba de agregar el 'nuevo'. – BoltClock

41
throw new StackOverflowException(); 

trampa, lo sé ... :)

+0

esta es la manera más simple de generar cualquier tipo de excepciones para probar –

+0

Jajaja ... estaba pensando en algo "un poco más elaborado", pero también funciona ... – aGuy

+0

@kinjal Para esta excepción específica es va a ser difícil de probar: no puede atrapar una StackOverflowException. –

3

en pseudocódigo

func(): call func() 
2
public int Method(int i) 
{ 
    return i + Method(i + 1); 
} 

Creo que esto debería funcionar. En general, cualquier recursión que no termina.

5
public static void Main() 
{ 
    Main(); 
} 
4

siempre uso este código (porque es más difícil de detectar) :-(

private int _num; 
public int Num { 
    get { return Num; } 
    set { _num = value; } 
} 
+0

+1 Esta es la primera que pensé – Jonathan

+1

Sería aún mejor si el nombre del campo fuera 'num' (sin el prefijo del subrayado). ;) – ShdNx

18

No es el más corto pero divertido :)

public static bool IsNotEmpty(string value) 
{ 
    return !IsEmpty(value); 
} 

public static bool IsEmpty(string value) 
{ 
    return !IsNotEmpty(value); 
} 

public static void Main() 
{ 
    bool empty = IsEmpty("Hello World"); 
} 
+1

Me hizo sonreír idd :) –

1

Ejecutar este código (recursividad):

f() { 
     f(); 
    } 
Cuestiones relacionadas