34

C#では、C ++のように、メソッド内でクラスまたは構造体を宣言することは可能ですか?

例:C ++:

void Method()
{
   class NewClass
   {
   } newClassObject;
}

私は試しましたが、それは私にそうすることを許していません。

4

5 に答える 5

28

次のように匿名型を作成できます。

var x = new { x = 10, y = 20 };

しかし、それ以外:いいえ。

于 2012-05-23T11:05:25.750 に答える
14

はい、class内部を宣言することは可能でclassあり、これらは呼び出されますinner classes

public class Foo
{
    public class Bar
    { 

    }
 }

これにより、インスタンスを作成できます

Foo foo = new Foo();
Foo.Bar bar = new Foo.Bar();

anonymousまた、メソッド内でタイプのオブジェクトを作成できます

void Fn()
{
 var anonymous= new { Name="name" , ID=2 };
 Console.WriteLine(anonymous.Name+"  "+anonymous.ID);
}
于 2012-05-23T11:10:36.643 に答える
9

質問の状態としてクラス内で宣言することはできますが、質問のタイトルの状態としてメソッド内で宣言することはできません。何かのようなもの:

public class MyClass
{
    public class MyClassAgain
    {
    }

    public struct MyStruct
    {
    }
}
于 2012-05-23T11:07:43.770 に答える