自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

imJaron的博客

锲而舍之, 朽木不折; 锲而不舍, 金石可镂

  • 博客(9)
  • 收藏
  • 关注

原创 实现泛型的一些注意点

1. 默认值表达式  : default(T)2. 直接比较具体要看参数的约束。如果参数是未约束的,则可以使用==, !=操作符,但只能与null进行比较, 不能直接比较T的两个值。如果传入的是值类型,则总是不等。如果是引用类型,则会正常比较。如果是可空类型,将会将没有值的视为null.如果参数是约束成值类型,就完全不能用==, !=。如果约束未引用类型,将取决于进一步

2016-01-28 16:24:21 329

原创 Process的使用

首先是ProcessStartInfo的几个重要属性。1. FileName: 可以是可执行文件的全路径,或者只是文件名(会在PATH的指定路径下面去找)2. UseShellExecute: 是否用外壳去运行该可执行文件,如果是的话,可以运行任何可执行文件(与之相关联的,具有默认打开操作的注册文件类型)。如果是false,则只能用            Process组件启动3.

2016-01-28 11:02:01 1288

原创 泛型的四种约束

对于泛型类型或者泛型方法,可以对类型指定约束。约束放在类型声明的末尾,然后用where来引入。1. 引用类型约束: (T : class), 即T必须是一个引用类型。struct Test where T : class

2016-01-27 15:18:59 1677

原创 struct: Backing Field for Automatically Implemented Property [Text] must be Fully Assigned..

今天在用MSBUILD编译一个项目的时候,碰到了这个跟struct相关的错误。Backing Field for Automatically Implemented Property [Text] must be Fully Assigned Before Control is Returned to the Caller我的代码如下,    public stru

2016-01-25 16:34:47 450

转载 .NET 4.0中的泛型协变和反变

随Visual Studio 2010 CTP亮相的C#4和VB10,虽然在支持语言新特性方面走了相当不一样的两条路:C#着重增加后期绑定和与动态语言相容的若干特性,VB10着重简化语言和提高抽象能力;但是两者都增加了一项功能:泛型类型的协变(covariant)和反变(contravariant)。许多人对其了解可能仅限于增加的in/out关键字,而对其诸多特性有所不知。下面我们就对此进行一些详

2016-01-21 14:54:30 386

原创 Delegate委托相关

1. 给委托实例赋值的时候,参数类型不一定要完全相同,兼容的也可以,比如以下。delegate void MyDel(string s);void MyFun(object obj){...}MyDel md = MyFun; // OK. 因为string派生于object2. 委托的合并与删除是通过Delegate的静态方法Combine和Remov

2016-01-20 09:53:54 332

原创 一个学习LINQ的好工具 - LINQPad

今天发现了一个学习LINQ的好工具 - LINQPad. 简单操作了下,确实比较强大,方便。下面简单演示下用这个工具来做LINQ to SQL的过程。1. 建立数据库连接2. 连接完数据库以后,可以快捷生成一些预定义的查询。3. 可以直接运行并查看结果。更重要的是,LINQPad可以自动生成对应的SQL语句,Lambda表达式,IL代码。

2016-01-19 15:45:23 1162

原创 具名参数

比如一个构造函数如下:public Product(string name, string address)以下几种用法是错误的。new Product("address 1", name: "jaron");  // 报错, name已经被设置("address 1")new Product(name: "jaron", "address 1"; // 报错,na

2016-01-18 14:59:19 660

原创 属性访问修饰符小实验

今天在重温C#一些语言特性的时候,突然想到了下面这个小实验。结论如下: 1. 不能同时对 get/set 设置访问修饰符,会报这个错误 (如果真这样做,那要属性干嘛?)2. 如果 get/set 想设置为public,那么是不需要显示的写出来的,如 public get。 会报错

2016-01-18 14:16:41 258

空空如也

空空如也

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

TA关注的人

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