C#中的类成员
C#中的类具有字段、属性、方法等类成员。本片文章主要就是介绍这几个类成员以及类库的概念。
1、定义类成员
所有的成员都有自己的访问级别:public,protected,private,internal。这几个的区别就不说了,不知道的百度下。
需要注意的是protected和internal是可以合并使用的,表示在同个项目(更准确的说是程序集)的继承类里可以访问。
如果在成员的前面加上static,说明这个成员是静态成员。
字段和变量的区别:直接在类中的数据成员为字段,他用访问修饰符和数据类型类定义(public string name;),字段就像类的一个小数据库,用来存放与类相关的数据;而单纯的变量是没有修饰符的(int age;),他不能直接在类里面定义,只能在函数里面定义,他用来作为方法的一个临时变量。
定义字段
class Class
{
public int MyInt;
}
注意,类中的公共字段推荐使用PascalCasing的命名方式,而私有字段没有推荐的,但是一般使用camelCasing。
如果使用readonly关键字,那么只能在构造函数的执行过程中赋值,或者在初始化赋值语句中赋值。
class Class
{
public readonly int MyInt = 2;
}
加上static关键字就是静态字段了。
class Class
{
public static int MyInt;
}
引用静态变量不需要实例化,可以直接调用,如Class.MyInt。
定义方法
采用标准的函数格式。
class MyClass
{
public string MyString()
{
return "Here is a string";
}
}
注意,类中的公共方法(如字段)使用PascalCasing的命名。
方法的声明也可以使用static关键字,则为静态方法。还可以使用一下的关键字,如:
定义属性
属性拥有两个类似于函数的块,一个用于获取属性的值,一个用户设置属性的值。这两个块也成为访问器,分别用get和set关键字来获取和设置属性的值。也可以忽略其中的一个块来创建只读或者只写属性(忽略get则创建之只写属性,忽略set则创建只读属性)。例如:
private int myInt;
public int MyIntProp
{
get { return myInt; }
set { myInt = value; }
}
这个简单的属性只能访问myInt字段,不过我们大多数情况下可能需要对操作进行更多的控制。如下面的代码示例:
set
{
if (value >= 0 && value <= 10)
{
myInt = value;
}
}
如果赋给属性的值在0到10之间,就修改属性的值。如果不在应该怎么选择呢?有四种选择:
(1)什么都不做:就像上面的例子一样。
(2)给字段赋予默认值;
(3)继续执行,就行啊没有发生错误一样,但是记录下改事件,以备将来分析。
(4)抛出异常。
一般情况下,选择后两种比较好。如抛出异常:
set
{
if (value >= 0 && value <= 10)
{
myInt = value;
}
else
{
throw (new ArgumentOutOfRangeException("MyIntProp", value, "MyIntProp must be assigned a value between 0 and 10."));
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端