1

私はC#が初めてなので、この問題について無知であることをお許しください。

C++ では、関数 (クラスにないメソッド) を定義できます。

C# でも同じことができますか。ラムダ関数や無名関数のことではありません。C++ と同じ方法を参照しています。

元。

public void f() { }-- クラスではありません。

また、これは私の 2 番目の質問につながります。C# で定義できる唯一の最上位項目は何ですか。

ありがとう :-)

4

4 に答える 4

4

答え 1:

C# では、メソッドはクラス/構造体で囲む必要があります。これは基本的にカプセル化の概念です

これらのデータを操作するデータと関数を 1 つのエンティティにバインドします。

答え 2:

structenumInterfaceDelegate、およびその他のトップレベル項目を定義できます。

于 2012-10-07T17:21:14.100 に答える
1

あなたの最初の質問への答えは NO で、その理由はおそらくここにあるでしょう: Why Does C# Implement "Top Level" Methods?

それが役に立てば幸い。

于 2012-10-07T17:34:26.783 に答える
1

いいえ、クラス内にない関数を持つことはできません。C# では、すべての関数がクラス (メソッドなど) にある必要があります。ただし、オブジェクトのインスタンスをインスタンス化せずに呼び出すことができる関数である静的関数を使用できます。

于 2012-10-07T17:24:23.533 に答える
0

struct、、、および-はclass、C# の最上位項目です。enumdelegateinterface

詳細については、 C# 言語仕様を参照してください。

于 2012-10-07T17:22:18.637 に答える