2010-12-17 14 views

Antwort

22

So:

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

Eine Zeile, aber weniger Zeichen und erzeugt eine * echte * Ausnahme ... +1 (braucht es nicht eine 'void' Rückkehr in C#?) – BoltClock

+0

@BoltClock: Es ist ein Konstruktor. – SLaks

+0

Ah OK. Ich sehe, du hast gerade das 'neue' hinzugefügt. – BoltClock

41
throw new StackOverflowException(); 

Cheating, ich weiß ... :)

+0

dies ist die einfachste möglichkeit, irgendwelche typen von ausnahmen zu testen –

+0

Jajaja ... ich dachte in etwas "etwas ausgefeilter", aber es funktioniert auch .. – aGuy

+0

@kinjal Für diese spezielle Ausnahme ist es schwer zu testen sein - Sie können keine StackOverflowException abfangen. –

3

in Pseudo-Code

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

Ich denke, das sollte funktionieren. Im Allgemeinen jede Rekursion, die nicht beendet wird.

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

ich immer diesen Code verwenden (weil es schwieriger ist, zu erkennen) :-(

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

+1 Dies ist der erste, den ich dachte – Jonathan

+1

Es wäre noch besser, wenn der Feldname 'num' wäre (ohne das Unterstrich-Präfix). ;) – ShdNx

18

Nicht der kürzeste, aber lustig :)

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

Es hat mich idd lach gemacht :) –

1

Führen Sie diesen Code (Rekursion):

f() { 
     f(); 
    } 
Verwandte Themen