C# 中的 get 和 set

Muhammad Maisam Abbas 2021年3月21日
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