随笔分类 - 小菜学C#
内存
摘要:若一个实例方法声明前带有virtual关键字,那么这个方法就是虚方法。虚方法与非虚方法的最大不同是,虚方法的实现可以由派生类所取代,这种取代是通过方法的重写实现的(以后再讲)虚方法的特点:虚方法前不允许有static,abstract,或override修饰符虚方法不能是私有的,因此不能使用priv
阅读全文
摘要:1、只能在类或者继承类中使用。 2、不能在对基类实例化使用。 3、可以采用派生类的实例化来使用。
阅读全文
摘要:今天在程序中犯了一个错误,我一直以为左移指令,右边是操作数,没想到经调试发现左边才是操作数。记录下来,以免以后继续犯错。
阅读全文
摘要:public static void PrintArgs(string args) { try { try { if (args == null) { ArgumentNullException myEx = new ArgumentNullException("args"); throw myEx
阅读全文
摘要:public static void PrintArgs(string args) { try if (args == null) { ArgumentNullException myEx = new ArgumentNullException("args"); throw myEx;//这里是抛出
阅读全文
摘要:案例代码如下: class Program { static void Main(string[] args) { MyClass cls = new MyClass(); try { cls.A(); } catch (System.DivideByZeroException) { Console
阅读全文
摘要:Csharp中的计时器也是采用异步委托回调模式的方式。 1、计时器每次到了时间调用回调函数,回调函数必须是TimerCallback委托形式。object 类型作为参数,返回Viod. void TimerCallback(object state) 2、当计时器到了时间以后,系统会从线程池中线程开
阅读全文
摘要:1、BegainInvoke 从线程池中获取一个线程,并且让引用方法在新的线程中运行。 2、BegainInvoke 返回给调用线程一个IAsyncResult接口的对象的引用。这个接口引用包含了在线程池中运行的异步方法的当前状态,原始线程然后可以继续运行。 3、EndInvoke 方法用来获取有异
阅读全文
摘要:Parallel.for 。 Parallel.foreach。 可以在不同的处理器之间运行,结果是不按顺序运行出来的。 例如: //const int MaxValues = 50; //int[] squares = new int[MaxValues]; Parallel.For(0, 15,
阅读全文
摘要:public partial class MainWindow : Window { BackgroundWorker bgWorker = new BackgroundWorker(); public MainWindow() { InitializeComponent(); //设置属性 bgW
阅读全文
摘要:1、类的主要成员 (1)属性 :WorkerReportsProgress R/W WorkerSupportsCancellation R/W IsBusy R CancellationPending R (2)方法:RunWorkAsync() CancelAsync() ReportProgr
阅读全文
摘要:#region 使用Task对象中的T返回异步方法里面的值,也可以是获取异步的状态。 //class Program //{ // static void Main(string[] args) // { // Task value = DoAsyncStuff.CalculateSumAsync(
阅读全文
摘要:转载于:https://blog.csdn.net/q__y__L/article/details/106566783 软件开发中需要知道基本概念,由罗伯特·C·马丁(Robert C. Martin)于《敏捷软件开发:原则、模式和实践》一书中给出的。在此记录。 目录 一.单一职责原则 二.开放封闭
阅读全文
摘要:作者:Hong HuaMin 链接:https://www.zhihu.com/question/463017131/answer/1922569604 来源:知乎 Person p = null; if (args[0] == "男") { p = new Man(); } else { p =
阅读全文
摘要:转载来源:https://zhuanlan.zhihu.com/p/162065756 Order是事件,这种Invoke就是无法在外部实现的,事件的触发只能由事件的拥有者自己来做。 ——需要强调的是,简化声明时Invoke可以在类体内被调用——这是一种不得已而为之的语法:因为简化声明时没有手动声明
阅读全文
摘要:转载于:https://blog.csdn.net/weixin_44813932/article/details/104023728?spm=1001.2014.3001.5502 文章目录 事件的完整声明思路完整代码 事件的简略声明事件存在的必要性事件的本质命名约定事件与委托的关系 事件的声明格
阅读全文
摘要:转载于:https://blog.csdn.net/weixin_44813932/article/details/104014758?spm=1001.2014.3001.5502 文章目录 事件模型的基本理论1.事件模型的5个组成部分2.事件是不会主动发生的3.事件订阅解决的3个问题4.什么是事
阅读全文
摘要:1、同一个方法添加到委托里面,假如添加了是10次,那么委托的方法里面就有10个同样的方法。 2、在添加或者删除委托的时候,系统都会创建新的委托来替代旧的委托。 3、当委托调用有多个具有返回值方法时候,则返回最后一个方法的返回值。
阅读全文
摘要:1:多维数组 //数组的理解 //多维数组第一个数组值是{0,1,2}对应的索引是[0,0],[0,1],[0,2] // 第二个数组值是{10,11,12}对应的索引是[1,0],[1,1],[1,2] var arr = new int[,] { { 0, 1, 2 }, { 10, 11, 1
阅读全文
摘要:记录一下, 因为256 位1 0000 0000 = 这个除以256 为1 ,商为01,余数为0 例如 100 0000 0000 其中100为4 4x256=1024 二进制直接计算也是1024 。
阅读全文