news 2026/8/15 16:15:54

C#编程核心:属性、异常与析构

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C#编程核心:属性、异常与析构

《set与get》

//属性:public int Age{get;set},一般不存储数据,可以公开接口 可以在外部进行访问
//字段:private int age 字段可以存储数据,一般定义成私有的,目的保证数据的安全性

//当如果对类里面的字段进行限制,或者拦截处理,可以在属性的set和get访问器里面进行条件限制。
//set和get访问器 其实就是方法
//set访问器:给字段设置值的方法,带一个参数,一般起成value,把value赋值给字段,
//get访问器:获取字段值的 带返回值的 return字段

//原始的set和get写法;写私有的字段 再写公共属性,添加set和get

《Exception 》

// Exception 是所有异常的基类

//new DivideByZeroException(除数不能为0的异常)
//System.StackOverflowException 内存泄漏 死循环 方法自己调用自己
// new IndexOutOfRangeException()数组索引值超出范围异常
//new ArgumentOutOfRangeException();参数超出范围异常

《析构函数》

//析构函数:当对象不用时候,会把对象设置为null,当对象被GC(垃圾回收机制)进行回收的时候 触发析构函数
//析构函数的特点:方法名还是类名 只不过在方法名前加一个~
People p1 = new People() { Name = "zs" };
p1 = null;//把p1设置为null
People p2 = new People() { Name="李四"};
People p3 = p2;
p2 = null;
p3 = null;
Console.WriteLine("请按任意键进行回收");

Console.ReadKey(true);//用户按键之后再往下执行
GC.Collect();//回收置为null内存空间
Console.ReadKey();
class People
{
public string Name { get; set; }
//析构函数:方法名还是类名 只不过在方法名前加一个~

~People()
{
Console.WriteLine(this.Name+"被释放了");
}
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/16 3:57:38

async 和 await

现代版本的 Python 有一种非常直观的方式来定义异步代码。这使它看起来就像正常的"顺序"代码,并在适当的时候"等待"。 当有一个操作需要等待才能给出结果,且支持这个新的 Python 特性时,你可以编写如下代码:…

作者头像 李华
网站建设 2026/8/15 11:03:09

Video DownloadHelper CoApp 浏览器视频下载增强工具完整配置指南

Video DownloadHelper CoApp 浏览器视频下载增强工具完整配置指南 【免费下载链接】vdhcoapp Companion application for Video DownloadHelper browser add-on 项目地址: https://gitcode.com/gh_mirrors/vd/vdhcoapp 还在为无法轻松下载网页视频而困扰吗?V…

作者头像 李华
网站建设 2026/8/12 12:34:48

微信网页版终极解决方案:免费浏览器插件一键解锁访问限制

还在为微信网页版频繁出现的"请在微信客户端登录"提示而烦恼吗?这款免费的微信网页版插件正是你需要的终极解决方案!通过简单的浏览器扩展安装,就能让Chrome和Firefox用户轻松解决微信网页版的访问问题,享受顺畅的网页微…

作者头像 李华
网站建设 2026/8/15 16:57:15

拿捏 React 组件通讯:从父子到跨组件的「传功秘籍」

前言你有没有过这种崩溃时刻?写 React 组件时,想让父子组件互通数据,结果代码越写越乱;兄弟组件想传个值,绕了八层父组件还没搞定…… 为啥别人的 React 组件传值丝滑?别慌!秘密都在这&#xff…

作者头像 李华