泛型是CLR 2.0的一个新特性,在CLR 1.0中,要创建一个灵活的类或方法,但该类或方法在编译期间不知道使用什么类,就得以Object类为基础.而Object在编译期间没有类型安全性,因此必须进行强制类型转换,同时,给值类型使用Object类会有性能损失.泛型类使用泛型类型,并可以根据需要用特定的类型替换泛型类型.这就保证了类型安全性:如果某个类型不支持泛型类,编译器就会报错. 一.泛型有以下几个优点: 1)性能 对值类型使用非泛型集合类,在把值类型转换为引用类型,和把引用类型转换为值类型时…
.NET自从2.0版本开始就支持泛型. 非泛型链表 闲话休提,马上来看下非泛型的简化链表类,它可以包含任意类型的对象. LinkedListNode.cs中: 在链表中,一个元素引用另一个元素,所以必须创建一个类,将其封装在链表中,并引用下一个对象. public class LinkedListNode { public LinkedListNode(object value) { this.Value = value; } public object Value { get; private…
泛型 1.泛型概述 泛型是C#的部分与中间语言IL集成.创建的类或方法指定了类型,在实例化和调用时必须指定类型进行操作. 泛型可以用于类.方法.接口和委托以及结构. 泛型也是结构,同时是运行库CLR定义也可以进行互操作. 使用泛型的优化是: 提供性能 类型安全 二进制代码重用 利于扩展 命名约定 性能 装箱是将值类型转换为值类型,拆箱就是将己转换为引用类型的值类型转换回来,装箱和拆箱是非常影响程序性能的,在代码中应避免装箱和拆箱的操作.使用泛型为实例化类型对象和调用时进行类型指定.就避免了这一操…
<C#高级编程>读书笔记 C#类型的取值范围 名称 CTS类型 说明 范围 sbyte System.SByte 8位有符号的整数 -128~127(−27−27~27−127−1) short System.Int16 16位有符号的整数 -32 768~32 767(−215−215~215−1215−1) int System.Int32 32位有符号的整数 -2 147 483 648~2 147 483 647(−231−231~231−1231−1) long System.Int…
Atitit.  高级软件工程师and 普通的区别 高级编程的门槛总结 1. 完备的知识体系 2 2. 编程理论/原理的掌握 2 1.1. 掌握常用的概念(ORM,IOC,AOP,event driver/mvc 等) 2 1.2. 高级概念(lambda,闭包closure,fp,dsl ) 2 1.3. 元编程MOP  Annotation/attributi 2 1.4. 规则引擎and jbpm 2 1.5. 自己的框架and工具的 2 1.6. 自己的输入法 2 1.7. Uapi 3…
译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(下)),不对的地方欢迎指出与交流. 章节出自<Professional C# 6 and .NET Core 1.0>.水平有限,各位阅读时仔细分辨,唯望莫误人子弟. 附英文版原文:Professional C# 6 and .NET Core 1.0 - Chapter 41 ASP.NET MVC C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET…
C#高级编程 ===================================================== .NET体系结构 核心C# 对象与类型 继承 泛型 数组 运算符和类型强制转换 委托和Lamdba表达式 字符串和正则表达式 集合 Linq 动态语言扩展 异步编程 内存管理和指针 反射 错误和异常 部署 程序集 诊断 任务.线程和同步 安全性 互操作 文件和注册表操作 事务处理 网络 windows服务 本地化 核心XAML Managed Extensibility Fr…
Atitit.  高级软件project师and 普通的差别 高级编程的门槛总结 1. 完备的知识体系 2 2. 编程理论/原理的掌握 2 1.1. 掌握经常使用的概念(ORM,IOC.AOP,event driver/mvc 等) 2 1.2. 高级概念(lambda,闭包closure,fp,dsl ) 2 1.3. 元编程MOP  Annotation/attributi 2 1.4. 规则引擎and jbpm 2 1.5. 自己的框架and工具的 2 1.6. 自己的输入法 2 1.7.…
Java 核心编程API与高级编程实践 第一章 异常 1.1 异常概述 在程序运行中,经常会出现一些意外情况,这些意外会导致程序出错或者崩溃而影响程序的正常执行,在java语言中,将这些程序意外称为异常,出现异常时称为异常处理. 1.2 异常引入 public class TestEx { public static void main(String[] args){ String teachers[] ={"柳海龙","孙传杰","孙悦"};…
数学的复习,4^-2即是1/4/4的意思, 4^2是1*2*2的意思,而10^-2为0.01! 7.2运算符 符号 说明 例   ++ 操作数加1 int i=3; j=i++; 运算后i的值为4,j的值为3     int i=3; j=++i; 运算后i的值为4,j的值为4 -- 操作数减1 int i=3; j=i--; 运算后i的值为2,j的值是3     int i=3, j=--; 运算后i的值为2,j的值是2 && 执行逻辑运算,检查两个表达式是否为真 int a=5;(a&…