自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 CLR寄宿和APPDomain

我的妈呀,终于看到这了!!!!!寄宿寄宿(hosting)使任何程序都能利用CLR的功能。特别要指出的是,它使现有的应用程序至少能部分使用托管代码编写(这句话暂时不太理解)。所以可以总结出一点:寄宿可以让代码具有可拓展性,但是一旦将第三方DLL加载到进程中一定以为着有一定的风险,毕竟DLL代码很容易破坏应用程序的数据结构和代码(DLL总会想尽一切办法去访问它没有权利访问的资源)AppD

2016-06-28 13:01:43 1069

原创 异常和状态管理

事实上,许多面向对象的构造——构造器,获取和设置属性,添加和删除事件,调用操作符重载和调用转换操作等等(我们在写代码的时候总是想当然的写一大串,但是要知道很多代码只是在理想状态下没有任何操作失败才可能执行) 由于异常基础部分已经十分明了,所以这里就不一一赘述,只是简单阐述一些之前没有注意到的地方####**:**catch()的这个圆括号中的表达式称为捕捉类型。C#要求它必须是System.Exce

2016-06-24 15:18:46 347

原创 可空值类型

C#对可空类型的支持Int32?等价于Nullable< Int32 > 不仅如此,C#在此基础上为可空实例上还允许执行类型转化: Int32? a = 5; Int32? b = null; Int32 c = (Int32)a; //将可空类型的a强制转换成非可空类型 Double? d = 5; //将Int32类型的值5转型成double,这个时候的d = 5.0 Doubl

2016-06-23 17:18:06 400

转载 Lambda表达式详解(例子详解)

前言        1、天真热,程序员活着不易,星期天,也要顶着火辣辣的太阳,总结这些东西。        2、夸夸lambda吧:简化了匿名委托的使用,让你让代码更加简洁,优雅。据说它是微软自c#1.0后新增的最重要的功能之一。lambda简介     lambda运算符:所有的lambda表达式都是用新的lambda运算符 " => ",可以叫他,“转到”或者

2016-06-22 15:32:02 2134

原创 委托

.NET Freamwork通过委托来提供回调函数机制。我们可以利用回调方法来获得各种各样的通知

2016-06-21 17:29:02 275

原创 枚举类型和位标志

Internal enum Color{ white, //赋值0 Red, //赋值1 Green, ... Blue, ... Orange ... } 使用枚举理由:使程序荣易读,程序员就不用时常念叨white是0之类的,有了枚举类型,一步了然。枚举是强类型,简单点:假设你在c#代码中,你定义了一个整型变量后,就不能赋一个字符型数据给这个变量 (除非你用

2016-06-21 17:12:05 669

原创 字符、字符串和文本处理

在.NET Framework中,字符总是表示成16位的Unicode代码值,System.Char类型提供了两个只读常量字段:MinValue(定义成’\0’)和MaxValue(定义成’\uffff’)转型(张志类型转化):最简单,效率最高的 char c =(char)65使用Convert:提供静态方法来实现Char和数值类型的相互转换 char c = Convert.tochar

2016-06-21 16:07:58 563

原创 接口

接口可以认识成一种缩水版的继承机制,它是对一组方法签名进行来统一命名(不提供任何实现)。类继承的重要特点:只要是有基类实例的地方,都能使用派生类型的对象,都能使用派生类型的对象

2016-06-21 10:26:04 287

原创 泛型

泛型是CLR提供的一种特别的机制,它支持算法重用 Public class List,< T > : IList< T >,ICollection< T >,IEnumerable< T > 泛型的几大优势:类型安全:不符合兼容类型的对象会造成编译时错误性能:没有泛型的识货,一般所有的成员都要定义成操作Object数据类型吗。当用算法来操作值类型的实例的时候,肯定就要对值类型进行封装操作(我

2016-06-21 09:48:16 347

原创 属性

C#将有参属性称为索引器 无参属性是平常大家口里叫的属性无参属性面向对象设计和编程的重要原则之一就是数据封装,意味着类型的字段永远不应该公开(public),否则很容易因为不恰当使用字段而破坏对象的状态**声明属性而不提供get/set方法,C#会自动为你声明一个私有字段 **属性不能作为OUT,Ref参数传给方法,而字段可以 **一定要记住属性是个方法对象初始化器String s = new

2016-06-21 09:09:11 329

原创 参数

可选参数和命名参数 class Program { private static int s_n = 0; private static void M(int x = 9, string s = "A", DateTime dt = default(DateTime), Guid guid = new Guid()) {

2016-06-17 17:26:01 397

原创 方法

实例构造器和类(引用类型)构造器: 初始化对象。创建引用类型的对象时,首先为实例的数据字段分配内存,然后进行初始化。 构造引用类型的对象的时候,在调用类的构造函数的时候,为对象的内存总是先归零,没有被构造器显示重写的都会办证获得0或者null值**我们可以知道由于是本类的构造函数,当然不可以被其他类继承(类名都不一样),所以会禁止使用以下修饰符:virtual,new,override,seal

2016-06-17 15:51:00 297

原创 常量和字段

常量是值不会变化的符号,定义在常量符号的时候,它的值是需要一开始就定义的。因为编译器是将常量会保存到元数据中去,所以编译器只能识别基元类型的常量,假如你要设定非基元类型的常量变量,要先将其设置成为Nullpublic const SomeTyoe Empty = null;因为常量值从来不变化,所以常量值是作为类型的一部分的。换一种角度,常量总是被视为静态成员,一旦定义常量值就会产生元数据。由于常量

2016-06-16 16:16:41 1105

原创 类型和成员基础

常量:数据值恒定不变的符号 字段:可读也可写的数据值 属性:用简单的字段风格设置或查询对象的逻辑状态 无论什么编程语言,编译器都能将源代码解析成元数据和IL语言,所有生成元数据的格式都是一样的,这就是为什么CLR成为“公共语言进行时”的原因,因为元数据是所有语言都生成和是使用的公共信息。所以正是有来元数据,我们才能无缝的在写一种语言的同时接壤另一种语言。 · class 类型演示

2016-06-16 14:46:24 352

原创 什么是WCF

WCF是基于Windows开发和部署服务的SDK.WCF为服务提供了运行环境,而且允许你使用CLR类型调用其他服务。WCF是微软对一系列行业标准规范的框架实现,这个规范包括服务交互、类型转换、封装、以及各种协议的管理的定义。WCF的绝大部分功能功能都包含在一个单独的程序集里面System.ServiceModel中,命名空间是System.ServiceModel在WCF中,每一个服务都有唯一的一

2016-06-14 14:35:00 335

原创 WCF

面向服务(SOA)SOA是一个组件模型,它将应用程序的不同程序的不同功能单元(称为服务。例如留言板…),通过定义良好的接口和契约联系起来,应用于架构 。 面向对象只是为了实现功能而少有模块之间的联系,应用于编程什么是WCFWCF是对现有Windows平台下分布式通信技术的整合 (是一种服务平台)WCF可使用WEB进行通信,因此同样支持SOAP的其他的平台间的互操作性就变得简单明了。对WCF进行

2016-06-14 13:40:40 344

原创 参数

可选参数(也可以称作默认参数),当你在定义参数的时候声明来默认值,这样在使用该函数的时候,如果没有给其实参,它会默认使用它的默认参数: `  class Program { static void Main(string[] args) { var troy = new Troy(); troy.He

2016-06-10 09:36:11 665

原创 方法

实例构造器(构造函数)和类(引用类型)构造器是将实例初始化为良好状态的特殊方法。比如:创建引用类型的对象的时候,首先为对象会分配内存地址,/然后初始化对象的附加字段(类型对象指针和同步块索引)/,然后调用实例构造器来设置对象的初始化状态。 要注意的是在调用构造函数之前,引用类型的变量的初始值总为0或为Null值如果父类没有提供无参的构造函数,那么子类必须显示调用一个父类的构造函数`inter

2016-06-04 16:35:11 343

原创 类型基础

CLR要求每个类型最终都是从System.Object类型派生,所以每个类型的每个对象都保证拥有Object的最基本的方法:Equals,GetHashCode,ToString(this.GetType().FullName),GetType(可以指出调用该方法的对象是什么类型,是非虚方法,防止类重写该方法,隐瞒真实类型),MemberwiseClone(相当于镜像,返回对新实例的引用),Fina

2016-06-03 16:13:31 281

原创 PE文件,程序集,托管模块,元数据

CLR实际是和程序集工作,程序集(assembly)是抽象概念 程序集:一个或多个模块/资源文件的逻辑性分组,是重用安全性和版本控制的最小单元。 编译器会默认将生成的托管模块生成程序集 程序集既可以是EXE,也可以是DLL(其中也含有可执行的文件)元数据是由几个表构成的二进制块,有三种元数据表:定义表,引用表和清单表。所谓定义表,主要就是对本模块内部的一些属性,方法什么的

2016-06-03 15:45:11 1005

转载 .net xml 增删改查基础复习及干货分享

今天做做项目时,有一个需求需要用到一些固定的文本数据,觉得将这些需要存储的信息直接写在代码里很不友好,放在数据库中存储又觉得不够方便,自然就想到了使用xml来进行操作,我平常在项目中其实用到xml的机会并不多,今天既然碰到了,就再温故知新一下吧....xml简述xml被设计用来传输和存储数据。(html被设计用来显示数据)xml指可扩展标记语言(Extensible Mar

2016-06-01 08:43:47 350

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除