![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
leileilcy
The better you understand what you are doing, the better you will do it.
展开
-
简单讲委托中的Lambda
Lambda表达式即匿名函数,也就是没有函数名的函数,也可以表示闭包。与委托相配合,即可以将函数直接传入。 void Start () { string[] values = { "x", "y", "z" }; var actions = new List<Action>(); foreach (string value in values) { actions.Add(() => Debug.LogErr原创 2020-10-21 15:01:22 · 133 阅读 · 0 评论 -
简单讲可选参数和命名实参
如果某个操作需要多个值,而且有些值在每次调用时又往往是相同的,这时通常可以使用可选参数。 void Start () { OptionalParameters(1); OptionalParameters(1, 2); OptionalParameters(1, 2, 3); } void OptionalParameters(int x, int y = 20, int z = 30) { Debug.Log(x); Debug.Log(y); Debug.L原创 2020-10-15 20:27:54 · 242 阅读 · 2 评论 -
简单讲精简对象的初始化
public class Person { public string name; public int age; public Person() { } public Person(string name) { this.name = name; }}对于这样一个类,我们通常的初始化方法大概有一下几种:Person ps1 = new Person();ps1.name = "Ray";ps1.age = 18;Person ps2 = new Person(".原创 2020-09-29 15:30:16 · 368 阅读 · 0 评论 -
简单讲迭代器
https://blog.csdn.net/qq_27467821/article/details/98381395有转载很详细的讲解。今天主要讲一下观察迭代器的工作流程,先来看代码: void Start () { IEnumerable<int> iterable = CreateEnumerable(); IEnumerator<int> iterator = iterable.GetEnumerator(); Debug.Log("Start t.原创 2020-09-28 17:03:43 · 84 阅读 · 0 评论 -
简单讲可空类型
这个问题的起因源于C#当中,值类型无法直接设为null。原因:对于引用类型来说,其值是一个引用。而值类型的变量的值是它本身真实的数据。Nullable<T>:属性有HasValue和Value。如果存在一个非可空的值,Value就是这个值。反之则会抛出一个Exception。HasValue是一个Boolean属性,它表示是否存在一个真正的值。C#的语法糖:Nullable<byte>可以直接写作byte?。实例:我们申明一个可空变...原创 2020-09-24 14:39:25 · 205 阅读 · 0 评论 -
简单讲泛型
void Start(){ List<string> list = new List<string>(); list = MakeList<string>("Hello","there"); //或者MakeList("Hello","there")}List<T> MakeList<T>(T first, T Second){ List<T> list = new List<T>(); .原创 2020-09-22 16:41:38 · 112 阅读 · 0 评论 -
简单讲委托回调
delegate void myDelegate(string str);void Start(){ DoSomeShit("dododo", OutPut);}void Output(string str){ Print(str);}void DoSomeShit(string str, myDelegate callback){ Print("before callback~"); if (callback){ callback(s.原创 2020-09-22 14:58:39 · 154 阅读 · 0 评论 -
观察者模式 ---- C#
//保存所有的观察者对象的引用 并可以增加和删除观察者abstract class HandleObserver{ public IList<Observer> observers = new List<Observer>(); public void AddObserver(Observer observer) { obse...原创 2019-08-21 17:48:07 · 94 阅读 · 0 评论