我是C#的新手,所以請原諒我對此事的無知。C#頂級項目
在C++中,您可以定義函數(方法不在類中)。
你可以在C#中做同樣的事情嗎?我不是說lambda或匿名函數。我指的是您可以在C++中使用的相同方式。
ex。
public void f() { }
- 不在課堂上。
此外,這導致我的第二個問題,什麼是您可以在C#中定義的唯一頂級項目。
由於:-)
我是C#的新手,所以請原諒我對此事的無知。C#頂級項目
在C++中,您可以定義函數(方法不在類中)。
你可以在C#中做同樣的事情嗎?我不是說lambda或匿名函數。我指的是您可以在C++中使用的相同方式。
ex。
public void f() { }
- 不在課堂上。
此外,這導致我的第二個問題,什麼是您可以在C#中定義的唯一頂級項目。
由於:-)
答1:
在C#方法必須包括在類/結構,這基本上封裝的概念,即
綁定數據和功能,這些數據和功能將在一個實體中一起操作這些數據 。
答2:
您可以定義結構,枚舉,接口,代表爲好,其他頂級項目。
所有方法都必須爲*類型* - 但它不一定是一個班級;它可能是一個結構。 –
struct
,class
,enum
,delegate
和interface
- 在C#中的頂級項目。
不,你不能有一個不在類內的函數。 C#要求所有函數都在類中(例如方法)。你可以使用靜態函數,這些函數可以在不需要實例化對象實例的情況下調用。
回答你的第一個問題是NO,你可能會找到這裏的理由: Why Doesn't C# Implement "Top Level" Methods?
希望它能幫助。
請參閱http://blogs.msdn.com/b/ericlippert/archive/2009/06/22/why-doesn-tc-implement-top-level-methods.aspx –