![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
文章平均质量分 80
dingxiang506
谦虚才能学到东西
展开
-
代码的演进以及常见的设计错误
1. 将对象的ID列设置为readonly,同时为它提供一个get访问器。注:虽然我给出的C#代码,但是下面所有的知识点在C++,java中同样适用。首先,让我们先来看一下这个Commodity类。public class Commodity { string customerID; publ原创 2012-09-13 10:47:47 · 532 阅读 · 0 评论 -
程序集的加载过程
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------1.windows加载器是如何加载.net程序集的? 首先使用dumpbin命令行工具来分析下要分析的程序集BinarySearchPractice.exe。输入如下命令行即可: dumpbin -all BinarySearchPractice>d:anal原创 2013-06-04 08:12:48 · 831 阅读 · 0 评论 -
剖析C#集合初始化器
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------1..一个简单的实例 代码如下: static void Main(string[] args) { List list = new List() { 1,2}; }这段代码使用了集合初始化器,其实他和下原创 2013-06-03 19:53:09 · 1860 阅读 · 1 评论 -
C#哈希表
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------1. 为什么要用哈希表因为哈希表的插入,删除,查找等算法都是常量级的,速度要远远大于基于数组的集合。因此,如果频繁的执行插入,删除,查找操作,应当优先考虑哈希表。2. 使用哈希表时应主要的问题 2.1如果重写了GetHashCode,也必须重写原创 2013-02-21 18:43:11 · 1405 阅读 · 0 评论 -
深入剖析委托,匿名委托
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------1.预热 为了更好的理解委托,先预一下热,看看代码清单1和代码清单2. 代码清单1: Func addFunc = (left, right) => left + right; Console.WriteLine(addFunc(12,13));编译,运行,输原创 2013-06-03 12:22:43 · 556 阅读 · 0 评论 -
使用默认参数带来的版本问题
------- Windows Phone 7手机开发、.Net培训、期待与您交流! ------- 默认参数在.net 3.0新增的内容,这是一个非常方便的内容,但是也可能带来意想不到的版本问题!!新建一个程序集DefaultPara,里面的代码如下:namespace DefaultPara{ public class SomeClass {原创 2013-06-04 11:07:43 · 485 阅读 · 0 评论 -
编译器对基元类型的特殊对待
------- Windows Phone 7手机开发、.Net培训、期待与您交流! ------- 无论是从语法方面,还是从代码优化方面,编译器都会对基元类型进行特殊的对待。这些特殊对待主要体现在运算,直接量,操作符重载。下面一一讨论。 一,基元类型的运算 在基元类型的运算方面,C#编译器所提供的最大的特性就是,能够根据用户的设置进行溢出检查,当产生溢出时CL原创 2013-03-05 19:15:00 · 625 阅读 · 0 评论 -
递归使用lambda
原文地址:http://blogs.msdn.com/b/madst/archive/2007/05/11/recursive-lambda-expressions.aspxThis is a very geeky post. The tiny piece of useful information comes right at the bottom. The rest of it is转载 2013-09-05 21:00:46 · 775 阅读 · 0 评论 -
略讲类型转换
一些常见的问题:1. 为什么C#不能讲字符串直接强制转换为int,而是额外提供一个System.Convert.ToInt32()方法。2. 几种常见转换之间的性能对比。1. 关于溢出,如何检查溢出。 1.基元类型之间的类型转换。需要注意的是,基元类型之间的转换是不会抛出异常的,这一点很重要,譬如int可以转换为byte(溢出也算)而不会抛出任原创 2013-07-23 21:23:41 · 543 阅读 · 0 评论 -
初时相等性判断
1. 概述C#中有四种方式用来进行相等性判断,如下:Object.Equals(object value,object value2):会调用第一个参数的实例Equals方法,永远不要重写他。 Object.ReferenceEquals(objectvalue1,value2):比较两个对象的地址,永远不要重写他。 Object的virtualinstance原创 2013-07-23 22:37:56 · 494 阅读 · 0 评论 -
从IL看强制转换和is,as
1.强制类型转换。 Is和as的作用不多说,下面主要从IL角度来看一下他们的工作原理。请看如下代码:class CastTest { static void Main(string[]args) { objecto = "OK!"; stringstr = (string)o;原创 2013-07-20 20:19:56 · 926 阅读 · 0 评论 -
为什么静态函数不能使用实例字段以及实例函数
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------阅读本文可以获得以下知识点:1. This 指针的用途2. 实例对象是如何调用实例构造函数以及实例方法的.3. CLR如何调用一个类的静态方法4. 抽象类到底能不能有构造函数,为什么抽象类不能有public构造函数。 1.原创 2013-01-10 02:15:21 · 1117 阅读 · 0 评论