C# 中的 get 和 set

Muhammad Maisam Abbas 2023年10月12日
C# 中的 get 和 set

在本教程中,我们将在 C# 中介绍 getset

C# 中的属性

属性是提供输入,输出和计算方法的方法的公共字段。C# 中的类内的私有变量的值。编写属性名称的惯例是保持它为 public,并以大写字母开头。以下代码示例向我们展示了如何使用 C# 编写属性。

using System;

namespace Properties {
  class P {
    private string pname;
    public string Name {
      get { return pname; }
      set { pname = value; }
    }
  }
  class Program {
    static void Main(string[] args) {
      P obj = new P();
      obj.Name = "This is his name";
      Console.WriteLine(obj.Name);
    }
  }
}

输出:

This is his name

在上面的代码中,我们用私有变量 pname 和公共属性 Name 声明了 P 类。属性 Name 设置并获取私有变量 pname 的值。setget 分别用于输入和输出 pname 的值。下面将对这两种方法进行讨论。

C# 中属性的 set 访问器

set 访问器用于在 C# 中输入私有字段的值。以下代码示例向我们展示了如何使用 set 访问器将数据输入 C# 中的私有变量。

using System;

namespace Properties {
  class P {
    private string pname;
    public string Name {
      set { pname = value; }
    }
  }
  class Program {
    static void Main(string[] args) {
      P obj = new P();
      obj.Name = "This is his name";
    }
  }
}

我们通过主函数中的 obj.Name = "This is his name"将数据传递到 set 访问器中。该行在 set 访问器的隐式变量 value 内传递值 This is his namevalue 是属性内的隐式变量,表示传递的值。

C# 中属性的 get 访问器

get 访问器用于在 C# 中输出私有字段的值。下面的代码示例向我们展示了如何使用 get 访问器在 C# 中输出私有变量的数据。

using System;

namespace Properties {
  class P {
    private string pname;
    public string Name {
      get { return pname; }
      set { pname = value; }
    }
  }
  class Program {
    static void Main(string[] args) {
      P obj = new P();
      obj.Name = "This is his name";
      Console.WriteLine(obj.Name);
    }
  }
}

输出:

This is his name

我们使用 C# 中公共属性 Name 的公共 get 访问器访问了私有变量 pname 中的数据。我们还可以以简写形式编写以上代码,用下面的代码仍然可以实现同样的功能。

using System;

namespace Properties {
  class P {
    public string Name { get;

                         set;

    }
  }
  class Program {
    static void Main(string[] args) {
      P obj = new P();
      obj.Name = "This is his name";
      Console.WriteLine(obj.Name);
    }
  }
}

输出:

This is his name

此代码与之前讨论的代码具有相同的作用。它为我们提供了一种访问公共设置者和私有领域的获取者的方法。在上面的代码中,我们使用 set 访问器将值 This is his name 传递给属性 Name,并使用 get 访问器获得值。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相关文章 - Csharp Property