C#基础
文章平均质量分 52
C#的一些基础语法和常用案例
Man_Lucifer
这个作者很懒,什么都没留下…
展开
-
C#事件的意义和本质
假设一个加热器(Heater)和一个冷却器(Cooler)连接到同一个温度计(Thermostat)。控制设备开关需要向它们通知温度变化。温度计(发布者)将温度变化发布给多个订阅者——也就是加热器和冷却器,加热器和冷却器根据温度器的变化而做出反应。即使thermostat的CurrentTemperature没有变化,也可以发现Program简单的成功调用了。,使得Publish-Subscribe(发布——订阅)模式更简洁且更不易出Bug。,而无法从包容类的外部触发通知。原创 2023-12-29 01:56:03 · 467 阅读 · 1 评论 -
C#委托的意义
但是如果碰到自定义的排序情况下,不使用委托的话就会很复杂。对于一个冒泡算法,如果不使用委托,原创 2023-11-30 17:22:59 · 361 阅读 · 0 评论 -
C#高效编程:(第一章:语言习惯 2. 优先考虑查询语法(query syntax)而不是循环结构)
循环结构根植于几乎所有高级语言的设计中,但对于某些语言如C#来说,有一个更好用的替代方法:linq查询语法(或方法语法)。原创 2023-11-22 11:08:19 · 375 阅读 · 1 评论 -
C#多线程:1.lock关键字以及用法
lock关键字和 Monitor 类都是在 C# 中用于实现互斥锁(Mutex)的机制,用于确保多个线程之间的同步访问共享资源()其中lock关键字主要用于简化对 Monitor 类的使用。lock 语句在进入块时获得指定对象的互斥锁,并在离开块时释放锁。若无需要更精细控制锁的情况,使用lock关键字即可。原创 2023-11-21 11:38:16 · 90 阅读 · 0 评论 -
C#高效编程:(第一章:语言习惯 1. 属性以及一个简单索引器的实现)
从C#1.0的发布以来,经过多次强化,使得属性有了更多更好的表现。如果你还是使用public 变量(variables)在你的类中,请停下来换成属性的方法!在C#中你不能自己命名索引器。所以一个类型的索引器必须有不同的参数列表来避免歧义。几乎所有的属性的功能都适合用索引器。索引器的 setters 和 getters 可以不同的访问限制。不过,你不能像创建隐式属性那样创建隐式索引器。在 C# 中,索引器(Indexer)是一种特殊类型的属性,允许你通过类的实例访问类中的元素,就像访问数组一样。原创 2023-11-18 17:13:23 · 49 阅读 · 1 评论