随笔分类 - C#回顾
泛型约束
摘要:一、使用where关键字限制类型参数 泛型约束 描述 where T : struct 类型参数<T>的继承链中必须有System.ValueType where T : class 类型参数<T>的继承链中不允许有System.ValueType(例如<T>是一个引用类型) where T : n
阅读全文
ToString格式
摘要:1.0 保留几位小数点 string.Format("{0:N1}",11112222); 11112222.0 2.0 常见格式; 比如: X2 1).转化为16进制。 2).大写X:ToString("X2")即转化为大写的16进制。 3).小写x:ToString("x2")即转化为小写的16
阅读全文
Async_Await 一些概念性的东西
摘要:在伯乐在线看到的一篇关于async_await的文章,总结得挺好 1.0 “async”这个关键字让我们能够在方法内部使用“await”关键字,我们并没有在线程池的线程中运行这个方法,只是激活了await关键字(并管理方法结果)。 2.0 异步方法在开始执行时,和其它任何方法都是一样的。也就是说,在遇到“await”关键字(或者抛出异常)之前,方法都是同步运行的。 3.0 “await”关键字可...
阅读全文
Task2
摘要:这篇文章是第一篇Task文章的继续,比较啰嗦,本人也是靠msdn文档来学习的; 一、罗列一些属性 1、TaskCanceledException 类 ,表示一个用于告知任务取消的异常。https://msdn.microsoft.com/zh-cn/library/system.threading.
阅读全文
Task
摘要:一、Task是任务,不是线程,但是执行的时候是需要线程;任务跟线程不是一对一的关系,比如开3个任务并不是说会开3个线程 在上一篇并行编程_Parallel文章中,反编译看了下源码Parallel.Invoke,会创建与调用的action[]数目一致的System.Threading.Tasks.Ta
阅读全文
NUGET命令
摘要:1.安装指定版本类库 Install-Package xxx -Version 1.3.1 2.重新安装所有Nuget包(整个解决方案都会重新安装)update-package -reinstall 3.重新安装指定项目所有Nuget包,也可以在默认项目选择下 update-package -pro
阅读全文
并行编程_Parallel
摘要:一、Parallel.Invoke执行多个方法 没有特定执行顺序,利用cpu多核并发执行,在运行并行方法前都会产生一些额外的开销,我们一定要测量运行结果相比没有并行是否有优化 结果: 二、Parallel.For 每一次迭代一会当作一个任务交给一个线程,线程可能会重用,cpu决定 效果还是非常明显的
阅读全文
AsyncDelegate
摘要:需要使用的方法,委托: 一、正常调用Sum方法,比较耗时 二、基本使用异步委托 三、异步委托的其他信息,引用上面开始调用委托的返回值asyncResult 四、异步委托带回调函数
阅读全文
Thread
摘要:一、启动线程调用无参数无返回值方法 二、启动一个线程执行带参数的方法 三、通过另一种方式启动一个线程执行带参数的方法(把方法封装一下) 四、线程的其他常用成员 五、winform跨线程访问的问题
阅读全文
WindowsService
摘要:新建一个WindowsService之后,打开是这样的类; 不想啰嗦,直接上代码,面向对象编程: 添加抽象父类: 添加两个个子类示例: 数据转发: MainServices: 启动各个子服务 修改一下windowsSerivices类: 调试: 安装,关闭,删除:(记得添加安装程序) 新建一个txt
阅读全文
委托
摘要:概念:委托是方法的容器,是类。跟JavaScript的回调函数一样,把方法作为参数传入方法执行; 一、简单例子 二、反编译 查看IL代码,可以看到本质就是一个类。继承MulticastDelegate 三、匿名方法和lambda表达式
阅读全文
LINQ
摘要:1、泛型参数命名规范 TSource,输入参数类型 TResult,输出参数类型 TKey,用于排序、分组、或者 2、OfType() 比如在Array集合中筛选出指定类型的数据;比如从一堆父类中查找出指定的子类,用得比较多 OfType()方法也用于筛选。 与其他运算符不同的是,OfType()定
阅读全文
反射重要属性方法
摘要:一、介绍 IsAssignableFrom()方法,子类赋给父类或者接口。验证是否接口子类(还可以加个判断不是抽象),父类用这个。 IsInstanceOfType,检查某个对象是否是某个类型,type.IsInstanceOfType(object) IsAbstract,是否是抽象类,接口,抽象
阅读全文
反射基本内容
摘要:一、程序集 二、动态调用方法 三、方法参数,构造函数有多个或者重载怎么办? 四、为属性赋值 五、创建对象 六、获取非public的方法,就把sayhi方法改为私有的再测试 七、lambda构造创建类 反射的性能比较低的,我们可以用lambda构造来代替或者构造函数调用得到一个对象。时间仓促,不做演示
阅读全文
Type
摘要:Type类型是反射的最重要的一个类: 一、获取Type类型 object类型包含一个叫做GetType方法,它返回实例的type对象的引用。因为所有的类最终是继承Object,所以我们可以在任何对象上使用GetType方法 ①使用GetType方法 Type t=person.GetType();
阅读全文
浙公网安备 33010602011771号