浅析C# get set的简单用法(C# Get Set 方法入门解析与应用实例)

原创
ithorizon 6个月前 (10-20) 阅读数 23 #后端开发

C# get set 的简洁用法 - C# Get Set 方法入门解析与应用实例

一、简介

在C#中,get和set访问器用于定义属性的读写行为。属性是类的成员,用于封装类的数据,并提供对数据的访问和修改。使用get和set访问器,我们可以控制对私有字段的访问,确保数据的有效性。

二、get访问器

get访问器用于返回属性的值。当我们在类外部访问一个属性时,get访问器会被调用。下面是一个简洁的例子:

public class Person

{

private string name;

public string Name

{

get { return name; }

}

}

在这个例子中,我们定义了一个名为Person的类,其中包含一个私有字段name。我们使用get访问器定义了一个名为Name的属性,该属性返回私有字段name的值。

三、set访问器

set访问器用于设置属性的值。当我们在类外部为属性赋值时,set访问器会被调用。下面是一个简洁的例子:

public class Person

{

private string name;

public string Name

{

set { name = value; }

}

}

在这个例子中,我们为Person类的Name属性添加了一个set访问器。现在,我们可以在类外部为Name属性赋值,如下所示:

Person person = new Person();

person.Name = "张三";

这将设置person对象的name字段为"张三"。

四、get和set结合使用

通常,我们会将get和set访问器结合起来使用,以实现对私有字段的读写控制。下面是一个完整的例子:

public class Person

{

private string name;

public string Name

{

get { return name; }

set { name = value; }

}

}

在这个例子中,我们为Person类的Name属性同时定义了get和set访问器。现在,我们可以在类外部读取和设置Name属性的值:

Person person = new Person();

person.Name = "张三";

Console.WriteLine(person.Name); // 输出:张三

五、属性的特性

除了简洁的get和set访问器,我们还可以为属性添加一些特性,如只读、只写或同时具有只读和只写特性。

1. 只读属性

如果属性只有get访问器,那么该属性是只读的。下面是一个例子:

public class Person

{

private string name;

public string Name

{

get { return name; }

}

}

在这个例子中,Name属性是只读的,我们无法在类外部为其赋值。

2. 只写

如果属性只有set访问器,那么该属性是只写的。下面是一个例子:

public class Person

{

private string name;

public string Name

{

set { name = value; }

}

}

在这个例子中,Name属性是只写的,我们无法在类外部读取其值。

3. 同时具有只读和只写特性

如果属性既有get访问器又有set访问器,但set访问器是私有的或受保护的,那么该属性同时具有只读和只写特性。下面是一个例子:

public class Person

{

private string name;

public string Name

{

get { return name; }

private set { name = value; }

}

}

在这个例子中,Name属性是只读的,基于我们无法在类外部为其赋值。但是,我们可以在类的内部方法中设置Name属性的值。

六、应用实例

下面是一个简洁的应用实例,我们将使用get和set访问器来封装一个学生的成绩信息。

using System;

public class Student

{

private int score;

public int Score

{

get { return score; }

set

{

if (value >= 0 && value <= 100)

{

score = value;

}

else

{

Console.WriteLine("成绩必须在0到100之间");

}

}

}

}

class Program

{

static void Main()

{

Student student = new Student();

student.Score = 90; // 正确赋值

Console.WriteLine("学生的成绩是:" + student.Score);

student.Score = 150; // 谬误赋值,将输出谬误信息

}

}

在这个例子中,我们定义了一个名为Student的类,其中包含一个名为Score的属性。该属性使用get和set访问器进行封装,以确保成绩的有效性。在set访问器中,我们添加了一个简洁的条件判断,以确保赋值的成绩在0到100之间。如果成绩不在这个范围内,程序将输出谬误信息。

通过这个例子,我们可以看到get和set访问器在封装类数据方面的作用。它们不仅可以帮助我们保护类的数据,还可以在赋值时进行额外的逻辑处理,从而确保数据的有效性。

七、总结

C#中的get和set访问器是属性封装的重要工具。通过使用get和set访问器,我们可以控制对类私有字段的访问,确保数据的有效性。在实际开发中,灵活运用get和set访问器,可以令类的数据更加可靠、可靠。本文介绍了C#中get和set访问器的简洁用法,期待对读者有所帮助。


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: 后端开发


热门