- 博客(13)
- 资源 (4)
- 收藏
- 关注
原创 C# explicit implicit关键字、checked关键字
//代码及部分解释参考C#高级编程、msdnexplicit关键字: 声明必须通过转换来调用的用户定义的类型转换运算符。如果转换操作会导致异 常或丢失信息,则应将其标记为 explicit。 这可阻止编译器静默调用可能产生意外后果的转换操作。implicit关键字: 用于声明隐式的用户定义类型转换运算符。 如果可以确保转换过程不会造成数据丢失
2017-05-13 15:24:04 363
转载 Java 泛型 enum
https://www.ibm.com/developerworks/cn/java/j-perry-generics/index.html什么是泛型?JDK 5.0(2004 年发布)向 Java 语言中引入了泛型类型(泛型)和关联的语法。基本上讲,一些当时熟悉的 JDK 类被替换为了等效的泛型。泛型是一种编译器机制,您可通过该机制获取通用的代码并参数化(或模板化)剩余部分,从而以一种一般化方式...
2018-04-08 10:53:38 1208
转载 Java集合& 装箱 拆箱
装箱和拆箱https://www.ibm.com/developerworks/cn/java/j-perry-java-collections/index.htmlJava 语言中的每种原语类型都有一个对应的 JDK 类,如表 1 所示。表 1. 原语和对应的 JDK 类原语对应的 JDK 类booleanjava.lang.Booleanbytejava.lang.Bytecharjava.l...
2018-04-03 08:53:55 405
原创 C# 小知识点记录
总结看书时的笔记1. new的三种用法 a. new运算符:用于创建对象和调用构造函数。 b. new修饰符:在用于修饰符时,new可以显示隐藏从基类中继承的成员(调用该成员时,不会调用父类中的成员);而override是重写父类中的abstract/virtual方法; c. new约束:在泛型约束时,用于限制可能用于泛型声明中类型形式参数的时机参数的类型;与其他约束一起使用时...
2018-03-07 17:01:19 645
泛型及泛型约束-小结
8.泛型 泛型约束 泛型:作用是“代码重用”,用于“算法重用”。CLR允许创建泛型引用类型和泛型值类型,但不允许创建泛型枚举类型,还可以创建泛型接口和泛型委托。 原则:泛型参数变量为T,或者以T开头(如TKey TValue),类似于接口I的原则;8.1 泛型 泛型最常见的应用是集合类。8.2 泛型约束 参考:https://docs.microsoft.com/zh-cn...
2018-03-01 08:46:11 2767
原创 C# Reflection 获取私有字段、方法
使用反射,可以获取其他类中的私有字段、属性、私有方法等。测试使用的类如下:public class Model { /// /// 字段 /// public string _name = "Reflection"; private int _id; protected bo
2017-11-07 14:20:06 979
原创 装饰者设计模式 -C#
参考《Head First设计模式》装饰者模式定义:动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。主要思想:将装饰者与被装饰者自同一个超类型;可以用一个或多个装饰者包装一个对象;装饰者与被装饰者有相同的超类型,因而在任何需要原始对象(被包装的)的场合,可以用装饰过的对象代替它;装饰者可以在被装饰者的行为前/后,添加自己的行为,以达到特定目
2017-09-29 17:02:56 212
转载 C# Event事件
Event事件的三个要素:1. 事件发行者 - - 达到某些条件时激发事件的对象;2. 事件订阅者 - - 订阅事件并对事件发生时进行处理的对象;3. 定义发行者和订阅者关系,一个发行者可以有多个订阅者;Event 与 委托之间的区别:1. 委托允许直接通过委托去访问相应的处理函数,而事件则只能通过公布的回调函数去调用;2. 事件只能通过 += 、 -= 方式注册和
2017-05-15 15:58:25 1156
原创 C# 委托用法、匿名方法、Lambda表达式
编写一个函数,如普通的冒泡排序,只能对指定的如int[]进行排序,但是如果想对自定义的数据类型进行排序,则不能实现,通过委托则可以很好的实现不同类型使用同一方法这一功能,如下面的代码所示class BubbleSorter { static public void Sort(IList sortArray, Func comparison) {
2017-05-14 14:37:32 308
翻译 C# Action<T>、Func<T>、Predicate<T>委托的区别、用法
参考:https://social.technet.microsoft.com/wiki/contents/articles/22418.c-action-func-tresult-and-predicate-t-delegate.aspx下面通过例子进行介绍: class Program { static void Main(string[] arg
2017-05-14 13:08:37 7696
原创 ThreadPool学习
ThreadPool:提供一个线程池,该线程池可用于执行任务、发送工作项、处理异步 I/O、代表其他线程等待以及处理计时器。ThreadPool类在需要时增减池中线程的线程数,直到最大的线程数(可通过ThreadPool.GetMaxThreads获得)。将任务添加进线程池:ThreadPool.QueueUserWorkItem(new WaitCallback(方法名));
2017-03-29 10:00:17 374
原创 二分查找算法
看《算法》记录书中学习到的算法,并用C#实现 /// /// 二分查找算法==输入一个数字,然后检索该值在数组中的index并返回index /// /// /// 输入的数组必须是有序的 /// public static int binarySearchRank
2017-03-21 21:07:39 182
转载 值类型、引用类型的区别
参考msdn内容,讲解的更加清晰,可靠度高: https://msdn.microsoft.com/zh-cn/library/490f96s2.aspx
2017-03-20 21:12:45 209
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人