2010-12-17 27 views

Trả lời

22

Như thế này:

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

Một dòng, nhưng ít ký tự hơn và tạo ra ngoại lệ * thực * ... +1 (không cần trả về 'void' trong C#?) – BoltClock

+0

@BoltClock: Đó là một hàm tạo. – SLaks

+0

Ah OK. Tôi thấy bạn vừa thêm 'mới'. – BoltClock

41
throw new StackOverflowException(); 

gian lận, tôi biết ... :)

+0

đây là cách đơn giản nhất để tạo ra bất kỳ loại ngoại lệ nào để kiểm tra –

+0

Jajaja ... tôi đã suy nghĩ về một cái gì đó "được xây dựng một chút", nhưng nó cũng hoạt động .. – aGuy

+0

@kinjal sẽ khó kiểm tra - bạn không thể bắt được StackOverflowException. –

3

trong giả

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

Tôi nghĩ rằng điều này sẽ làm việc. Nói chung, bất kỳ đệ quy nào không chấm dứt.

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

tôi luôn luôn sử dụng mã này (vì nó là khó khăn hơn để phát hiện) :-(

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

1 Đây là một trong những đầu tiên tôi nghĩ – Jonathan

+1

Nó sẽ là tốt hơn nếu tên trường là 'num' (không có tiền tố gạch dưới). ;) – ShdNx

18

Không phải là ngắn nhất nhưng vui :)

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

Nó làm tôi mỉm cười idd :) –

1

Run mã này (đệ quy):

f() { 
     f(); 
    } 
Các vấn đề liên quan