C# 中是否有相当于初始化列表的东西?

问题描述 投票:0回答:1

在C++中,你可以这样定义构造函数:

class Foo
{
    private:
        int x, y;
    public:
        Foo(int _x, int _y) : x(_x), y(_y)
        {
        }
};

构造函数自动将

x
初始化为
_x
并将
y
初始化为
_y
。 当将字段简单地初始化为构造函数参数时,这很方便。

c# constructor
1个回答
0
投票

在 12 之前的 C# 版本中,你会这样做:

class Foo
{
  int _x;
  int _y;
  public Foo(int x, int y) {
   _x = x;
   _y = y;
  }
}

使用 C# 12,您可以:

class Foo (int x, int y);

x 和 y 将可用于您的整个呼叫实例。

显然,如果你的类有更多的逻辑,它可以有一个像这样的主体:

class Foo (int x, int y)
{
  // Logic that works with x and y
}
© www.soinside.com 2019 - 2024. All rights reserved.