减少方法到委托的隐式转换 避免频繁直接将方法当作参数直接传入,因为每次调用时都会产生一个委托实例,应该将方法缓存起来: private Func<object> func; private…
反射是什么 C# 编译运行过程 说到反射,就不得不说一下C#编译运行过程: 首先在VS点击编译的时候,就会将C#源代码编译成程序集; 程序集以可执行文件 (.exe) 或动态链接库文件(.dll)的形…
概述 写在前头,网上关于协变逆变的文章写写得真是让人一头雾水,微软官方文档更是重量级,仿佛不想让人懂。 按照官方解释: 协变:能够使用比原始指定的派生类型的派生程度更大(更具体)的类型; 逆变:能够使…
概述 在了解 Mono 前,首先要知道一个 .NET 语言(如C#)在编译成本地代码的过程中发生了什么: 阶段一(编译期):翻译成CIL 我们知道 C++ 经过预编译、编译、汇编、连接等步骤后会直接生…
概念 闭包是指捕获(引用)了作用域外的函数的局部变量的函数。 由于外部函数的局部变量被捕获,即使外层函数执行已终止,内部定义的函数也可以访问外部函数的局部变量,所以局部变量的生命周期得到了延长。 闭包…
概述 C# 的主要优势之一是自动内存管理,开发人员无需手动释放未使用对象的内存,提高了开发效率。当然,这不能避免一些内存泄漏与程序崩溃的相关问题。除了在 C# 中避免垃圾回收问题外,Unity 中内存…
什么是引用 “引用是变量的别名”,如: int n = 10; int &m = n; 在这里,m完全等价于n,任何对m的操作都是对n的操作; 引用的特性 引用必须初始化 引用初始化后就不能修…
对使用 C++ 写算法时的一些常见输入输出格式做一下总结; 求和,给定每组数据个数 输入描述 输入数据有多组, 每行表示一组输入数据。每行的第一个整数为整数的个数n(1 <= n <= 1…