摘要: static void Main(string[] args) { var list1 = Enumerable.Range(0, (int)Math.Pow(2, 22)).ToList(); var list2 = new List<int>(list1); list2.Add(1); Cons 阅读全文
posted @ 2020-07-18 17:49 木狼 阅读(667) 评论(0) 推荐(0) 编辑
摘要: //语法糖Rangestatic void Main(string[] args) { var myArray = new string[] { "Item1", "Item2", "Item3", "Item4", "Item5" }; for(int i=1; i <= 3; i++) { Co 阅读全文
posted @ 2020-07-18 17:40 木狼 阅读(2323) 评论(0) 推荐(0) 编辑
摘要: 一、什么是堆?(Heap) 堆是无序的,是一片不连续的内存域,由用户自己来控制和释放,如果用户自己不释放的话,当内存达到一定的特定值时,通过垃圾回收器(GC)来回收。 是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小。 二、什么是栈?(Stack) 栈是有顺序的,是 阅读全文
posted @ 2020-07-18 16:57 木狼 阅读(1252) 评论(0) 推荐(0) 编辑
摘要: 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。事件是a56爆大奖在线娱乐特殊的委托。 1.委托的特点: 委托类似于 C++ 函数指针,但它们是类型安全的。 委托允许将方法作为参数进行传递。 委托可用于定义回调方法。 委托可以链接在一起;例如,可以对一个事件调用多个方法。 方法不必与 阅读全文
posted @ 2020-07-18 16:49 木狼 阅读(377) 评论(0) 推荐(0) 编辑
摘要: Task的参数有两种,a56爆大奖在线娱乐是Action,a56爆大奖在线娱乐是Func。 使用Action public static void FFF(object a) { Console.WriteLine(a); } var s = Task<int>.Factory.StartNew(new Action<object 阅读全文
posted @ 2020-07-18 16:40 木狼 阅读(2698) 评论(0) 推荐(0) 编辑
摘要: 任务Task与线程Thread不可比。Task是为了利用多CPU多核的机制而将一个大任务不断分解成小任务,这些任务具体由哪一个线程或当前线程执行由OS来决定。如果你想自己控制由哪一个Thread执行,要么自己定议task的scheduling, 要么自己来创建Thread来执行代码。 1)task是 阅读全文
posted @ 2020-07-18 16:35 木狼 阅读(2699) 评论(1) 推荐(0) 编辑
摘要: 匿名函数是一个“内联”语句或表达式,可在需要委托类型的任何地方使用。 可以使用匿名函数来初始化命名委托,或传递命名委托(而不是命名委托类型)作为方法参数。 C# 中委托的发展 C# 1.0 中,您通过使用在代码中其他位置定义的方法显式初始化委托来创建委托的实例。 C# 2.0 引入了匿名方法的概念, 阅读全文
posted @ 2020-07-18 15:57 木狼 阅读(3295) 评论(0) 推荐(0) 编辑
摘要: 虚方法和抽象方法的区别: (1)抽象方法是只有方法名称,没有方法体,即没有方法的具体实现,子类必须重写父类抽象方法才能实现具体功能;虚函数有方法名称也也有方法体,但是子类可以覆盖,也可不覆盖。 (2)抽象方法是a56爆大奖在线娱乐强制派生类覆盖的方法,否则派生类将不能被实例化。 (3)抽象方法只能在抽象类中声明,虚 阅读全文
posted @ 2020-07-18 15:33 木狼 阅读(1397) 评论(0) 推荐(1) 编辑
摘要: 一、接口 接口是指对协定进行定义的引用类型,其他类型实现接口,以保证它们支持某些操作。接口指定必须由类提供的成员或实现它的其他接口。与类相似,接口可以包含方法、属性、索引器和事件作为成员。 1、接口存在的意义是为了实现多态; 2、接口中只能包含方法(属性、事件、索引); 3、接口的成员不能有任何实现 阅读全文
posted @ 2020-07-18 15:29 木狼 阅读(955) 评论(0) 推荐(0) 编辑