摘要: 添加了自定义的ApplicationDbContext 和ApplicationUser ,并添加了Identity认证后,会出现 InvalidOperationException: Unable to resolve service for type 'Microsoft.AspNetCore. 阅读全文
posted @ 2020-08-08 11:47 XXXUJIA 阅读(757) 评论(0) 推荐(0) 编辑
摘要: 在非泛型类型中,各个实例共享静态成员: 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 MyClass m1 = new MyClass(); 6 MyClass m2 = new MyClass(); 7 Console.Wr 阅读全文
posted @ 2020-06-23 11:41 XXXUJIA 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 匿名类型由var、赋值运算符=和一个非空初始值(或以new开头的初始化项)组成。 特性: 支持简单类型(一个非空初始值)和复杂类型(一个以new开头的初始化项) 匿名类型的属性是只读的,没有属性设置器,一旦被初始化就不可更改 匿名类型可以在循环中用作初始化器 匿名类型支持智能感知 匿名类型也可以拥有 阅读全文
posted @ 2020-06-22 15:55 XXXUJIA 阅读(860) 评论(0) 推荐(0) 编辑
摘要: 集合分为线性集合和非线性集合。 线性集合:元素具有唯一的前驱和后驱的数据结构类型。 1、直接存储:该类型的集合数据元素可以直接通过下标index来访问(Array(数组、List<T>),string,struct)。 优点:向数据结构中添加元素很高效,直接放在数据末尾的第一个空位上就可以了。 缺点 阅读全文
posted @ 2020-06-22 10:33 XXXUJIA 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 由于LINQ查询返回的集合中匿名类型的属性都是只读的,如果需要为匿名属性赋值,只能通过初始化设定项来进行。初始化设定项还能为属性使用表达式。 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 List<Person> person 阅读全文
posted @ 2020-06-21 17:04 XXXUJIA 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 拷贝(复制)为对象创建副本,即将对象中的所有字段复制到新的对象(副本中)。拷贝有两种:浅拷贝和深拷贝,微软建议用类型继承ICloneable接口的方式明确该类型是可以被拷贝的,ICloneable接口只提供了一个Clone方法,需要根据需要在Clone方法内实现浅拷贝或深拷贝。 1、浅拷贝:把源对象 阅读全文
posted @ 2020-06-21 14:40 XXXUJIA 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 有两种方法可以为类型提供格式化字符串输出: 1、让类型继承IFormattable接口,实现IFormattable接口的ToString方法,需要开发者可以预见类型在格式化方面的要求。 调用输出未重写Tostring方法: 1 Person person = new Person 2 { 3 ID 阅读全文
posted @ 2020-06-21 10:19 XXXUJIA 阅读(652) 评论(0) 推荐(0) 编辑
摘要: CLR中将“相等性”分为两类:“值相等性”和“引用相等性”。 值相等性:两个变量所包含的数值相等。 引用相等性:两个变量引用的是内存中的同一个对象。 无论是操作符“==”,还是方法“Equals()”,都倾向于表达这样一个原则: 对于值类型,如果类型的值相等,就应该返回true; 对于引用类型,如果 阅读全文
posted @ 2020-06-20 15:08 XXXUJIA 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 创建对象,有时候需要比较排序输出,例如一个Salary列表,可以支持针对基本工资来罗列,也可以针对奖金来罗列,这个时候就要用到IComparable接口和IComparer接口: 1 //IComparable:比较当前对象和同一类型的另一对象。 2 class Salary : IComparab 阅读全文
posted @ 2020-06-20 10:54 XXXUJIA 阅读(241) 评论(0) 推荐(0) 编辑
摘要: CLR支持在类型中,通过使用operator关键字定义静态成员函数来重载运算符,让开发者可以像使用内置基元类型一样使用该类型: 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 Salary mikeIncome = new Sa 阅读全文
posted @ 2020-06-19 17:10 XXXUJIA 阅读(277) 评论(0) 推荐(0) 编辑