c# this关键字的理解
this关键字引用类的当前实例
1/限定被相似的名称隐藏的成员
2/将对象作为参数传递到其他方法
3/声明索引器
实际案例参考:
//成员类 public class Employee { private string _MyName; private int _MyAge; public string[] _arry = new string[5]; public string Name { get { return this._MyName; } } public int Age { get {return this._MyAge; } } public Employee(string name, int age) { this._MyName = name; this._MyAge = age; } public string this[int param] { get { return _arry[param]; } set { _arry[param] = value; } } public void PrintInfo() { Print.DoPrint(this); } //改善C#程序的50种方法 } //打印类 public class Print { public static void DoPrint(Employee e) { Console.WriteLine("Name:{0}\nAge:{1}",e.Name,e.Age); } }
执行代码 和结果
Employee emp = new ConsoleApplication5.Employee("Zmztya",24); //打印本人信息 emp.PrintInfo(); emp[0] = "Father"; emp[1] = "Mather"; emp[2] = "Sister"; for (int i = 0; i < 5; i++) { Console.WriteLine("家庭成员:{0}",emp[i]); } Console.WriteLine(); 结果: Name:Zmztya Age:24 家庭成员:father ....(省略其他四个,最后两个是空值)
this 的关键字并没有发现其他特殊的用法。可以去掉除索引的意外的this,效果是一样的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南