C#
铁锈_
游戏码农
展开
-
泛型委托
(转载)委托学习总结(三)泛型委托转载过来自己看。原文链接:https://www.cnblogs.com/ruanraun/p/6044477.html之前,我们学习总结了委托这个概念,也阐述了委托,匿名方法,lambda表达式三者之间的关系,那么今天再来继续学习委托更深层次的东西:泛型委托,什么是泛型,这个概念我也会在之后做出总结,这里不做很深层次的讨论,重点是讨论泛型和委托如何配合使...转载 2018-10-16 12:53:45 · 293 阅读 · 0 评论 -
C#委托与事件(二)
在说C#委托时,往往指的是委托类型而不是一个委托类型的对象(最好是区分委托类型和委托实例),在说起事件的时候,可以说是封装过了的委托类型对象吧。事件不是一种类型,它是封装过了的委托类型的对象。如下代码,如果事件是一种类型,那下面代码中有事件类型的对象吗?为什么是HandEvent += Method;而不是HandEvent handevent += Method;...原创 2019-07-30 10:27:59 · 142 阅读 · 0 评论 -
C#扩展方法
参考:《深入理解C#》扩展方法必须具备以下特点:1.必须在一个非嵌套的,非泛型的静态类中(因此必然是一个静态方法)2.必须要有一个参数3.第一个参数必须使用附加的this关键字作为前缀4.第一个参数不能有其他任何修饰符(比如out或ref)5.第一个参数的类型不能是指针类型第一个参数的类型称为扩展类型,即该方法扩展了该类型,下面的代码中扩展了类型Testus...原创 2019-07-19 17:59:08 · 705 阅读 · 0 评论 -
C#一点一点积累吧
1.读取文件https://blog.csdn.net/swin16/article/details/80256123下面使用try catch可以很方便判断文件是否存在,可以避免使用file.exist 提前判断文件是否存在try{ using (StreamReader reader = new StreamReader( path) ) { }}c...原创 2019-06-05 15:57:54 · 193 阅读 · 0 评论 -
协变与逆变的简要说明
在看C#的时候看到了协变与逆变,百度一下发现原来C++, java里早就有了协变与逆变.首先说明协变与逆变的含义:逆变与协变用来描述类型转换(type transformation)后的继承关系,其定义:如果A、B表示类型,f(⋅)表示类型转换,≤表示继承关系(比如,A≤B表示A是由B派生出来的子类)f(⋅)是逆变(contravariant)的,当A≤B时有f(B)≤f(A)成立;f(⋅...原创 2019-03-31 14:52:27 · 4969 阅读 · 1 评论 -
泛型(二)开放类型和封闭类型
https://www.cnblogs.com/liuhailiang/archive/2012/11/26/2788632.html转载 2019-03-26 13:35:03 · 684 阅读 · 0 评论 -
(转载)关于js模拟c#的Delegate(委托)实现
原文链接:https://www.cnblogs.com/kazetotori/p/5842379.html 一、什么是Delegate(委托)在jquery中有delegate函数,作用是将某个dom元素的标签的事件委托给一个函数队列,在触发这个事件的时候会触发这个函数队列中的所有函数。而c#中的Delegate对象也是如此,将多个方法添加至一个委托对象,或称将多个方法委托给一个委托...转载 2019-02-20 20:16:22 · 276 阅读 · 0 评论 -
委托与事件
先直接上图解C#中的代码吧using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;/// <summary>/// 发布者:发布某个事件的类或结构/// 订阅者:注册并在事件发生时得到通知的类或结构...原创 2018-11-15 00:35:41 · 116 阅读 · 0 评论 -
C#中的 override和new
直接看代码就知道了。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 虚函数{ class Base { virtual public void outCl...原创 2018-11-06 22:54:09 · 864 阅读 · 0 评论 -
C#中的 struct(转)
C# struct简介C/C++程序员或多或少都有使用struct的经历,在C++中struct和class的区别不大,除了默认成员的可访问性,这点在C#中则截然不同。本文将力图说明C#中struct和class的区别以及如何正确的使用struct。为什么需要struct?众所周知,在java中并没有struct的概念,那么C#为何引入struct呢?最基本原因是可以创建值类型的类...转载 2018-10-28 23:38:45 · 627 阅读 · 0 评论 -
(转载)先说IEnumerable
原文链接:https://www.cnblogs.com/zhaopei/p/5769782.html先说IEnumerable,我们每天用的foreach你真的懂它吗?阅读目录自己实现迭代器 yield的使用 怎样高性能的随机取IEnumerable中的值我们先思考几个问题:为什么在foreach中不能修改item的值? 要实现foreach需要满足什么条件? 为什么L...转载 2018-10-17 19:49:09 · 200 阅读 · 0 评论 -
C# 在循环内捕获变量
匿名方法捕获变量:static MethodInvoker CreateDelegateInstance( ){ int counter = 5; MethodInvoker ret = delegate{ Console.WriteLine( counter ); counter++; } ret(); retu...原创 2019-08-05 14:17:40 · 569 阅读 · 0 评论