2012-10-07 31 views
1

我是C#的新手,所以請原諒我對此事的無知。C#頂級項目

在C++中,您可以定義函數(方法不在類中)。

你可以在C#中做同樣的事情嗎?我不是說lambda或匿名函數。我指的是您可以在C++中使用的相同方式。

ex。

public void f() { } - 不在課堂上。

此外,這導致我的第二個問題,什麼是您可以在C#中定義的唯一頂級項目。

由於:-)

+0

請參閱http://blogs.msdn.com/b/ericlippert/archive/2009/06/22/why-doesn-tc-implement-top-level-methods.aspx –

回答

4

答1:

在C#方法必須包括在類/結構,這基本上封裝的概念,即

綁定數據和功能,這些數據和功能將在一個實體中一起操作這些數據 。

答2:

您可以定義結構枚舉接口代表爲好,其他頂級項目。

+1

所有方法都必須爲*類型* - 但它不一定是一個班級;它可能是一個結構。 –

1

不,你不能有一個不在類內的函數。 C#要求所有函數都在類中(例如方法)。你可以使用靜態函數,這些函數可以在不需要實例化對象實例的情況下調用。