集合
集合命名空间:
- using System.Collections;(非泛型集合)
- using System.Collections.Generic;(泛型集合)
常用集合
“类似数组”集合:ArrayList、List
“键值对”集合(“哈希表”集合):Hashtable、Dictionary
“堆栈”集合:Stack、Stack
(LIFO)Last In First Out “队列”集合:Queue、Queue
(FIFO)First In First Out
集合
集合命名空间:
常用集合
“类似数组”集合:ArrayList、List
“键值对”集合(“哈希表”集合):Hashtable、Dictionary
“堆栈”集合:Stack、Stack
“队列”集合:Queue、Queue
属性的本质是字段+方法
1 | namespace ClassLibrary1 |
索引器的本质是名为Item的属性,并且索引器可以重载,不能再写一个名为item的属性
C# 中的委托是什么?事件是不是一种委托?事件和委托的关系。
委托可以把一个方法作为参数代入另一个方法。
委托可以理解为指向一个函数的指针。
委托和事件没有可比性,因为委托是类型,事件是对象,下面说的是委托的对象(用委托方式实现的事件)和(标准的 event 方式实现)事件的区别。事件的内部是用委托实现的。因为对于事件来讲,外部只能“注册自己+=、注销自己-=”,外界不可以注销其他的注册者,外界不可以主动调用事件,因此如果用 Delegate 就没法进行上面的控制,因此诞生了事件这种语法。事件是用来阉割委托实例的,类比用一个自定义类阉割 List。事件只能 add、remove自己,不能赋值。事件只能+=、-=,不能= 。事件内部就是一个 private的委托和 add、remove 两个方法
循环创建集合|数组时,用查询语法(query syntax)会比普通控制流程的结构好点,
主要体现在:
进程,线程略
应用程序域(AppDomain):它提供安全而通用的处理单元,公共语言运行库可使用它来提供应用程序之间的隔离。您可以在具有同等隔离级别(存在于单独的进程中)的单个进程中运行几个应用程序域,而不会造成进程间调用或进程间切换等方面的额外开销。优势: 在一个应用程序中出现的错误不会影响其他应用程序。能够在不停止整个进程的情况下停止单个应用程序。应用程序域形成了托管代码的隔离、卸载和安全边界。在任意给定时间,每一线程都在一个应用程序域中执行。
今天看到了一句话
the Where() LINQ extension method is used to filter for a particular set of URLs. Where(), like most LINQ methods, returns an IEnumerable
让我好奇IEnumerable
顺带IEnumerable
1 | string constr = ""; |
现在controller中创建一个新的action
先添加两个私有字段分别表示每页条数,和整个一组多少个,为了方便演示,设置小点
1 | private int PageSize = 3; |
1 | public class Product |