随笔分类 - .NET:C#
摘要:msdn 解释如下:“协变”是指能够使用与原始指定的派生类型相比,派生程度更大的类型。“逆变”则是指能够使用派生程度更小的类型。解释的很正确,大致就是这样,不过不够直白。直白的理解:“协变”->”和谐的变”->”很自然的变化”->string->object :协变。“逆变”->”逆常的变”->”不...
阅读全文
摘要:[C#泛型系列文章]目录导航第一部分:O'Reilly 出版的《C# Cookbook》泛型部分翻译第一回:理解泛型第二回:获取泛型类型和使用相应的泛型版本替换ArrayList第三回:使用相应的泛型版本替换Stack和Queue第四回:链表的实现和可空类型第五回:反转SortedList里的内容第...
阅读全文
摘要:一、泛型入门:我们先来看一个最为常见的泛型类型List的定义(真正的定义比这个要复杂的多,我这里删掉了很多东西)[Serializable]public class List : IList, ICollection, IEnumerable{ public T this[int index]...
阅读全文
摘要:const与readonly 很像,都是将变量声明为只读,且在变量初始化后就不可改写。那么,const与readonly 这两个修饰符到底区别在什么地方呢?其实,这个牵扯出C#语言中两种不同的常量类型:静态常量(compile-time constants)和动态常量(runtime const...
阅读全文
摘要:8天玩转并行开发 8天玩转并行开发——第一天 Parallel的使用 8天玩转并行开发——第二天 Task的使用 8天玩转并行开发——第三天 plinq的使用 8天玩转并行开发——第四天 同步机制(上) 8天玩转并行开发——第五天 同步机制(下) 8天玩转并行开发——第六天 异步编程模型 8天玩转并
阅读全文
摘要:int i = -1;bool b = int.TryParse(null, out i);执行完毕后,b等于false,i等于0,而不是等于-1,切记。int i = -1;bool b = int.TryParse("123", out i);执行完毕后,b等于true,i等于123;1、(in...
阅读全文
摘要:一、 对称加密对称加密,是一种比较传统的加密方式,其加密运算、解密运算使用的是同样的密钥,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密码(称为对称密码)。因此,通信双方都必须获得这把钥匙,并保持钥匙的秘密。单钥密码系统的安全性依赖于以下两个因素:第一、加密算法必须是足够强的,...
阅读全文
摘要:首先堆栈和堆(托管堆)都在进程的虚拟内存中。(在32位处理器上每个进程的虚拟内存为4GB)堆栈stack 堆栈中存储值类型。堆栈实际上是向下填充,即由高内存地址指向低内存地址填充。堆栈的工作方式是先分配内存的变量后释放(先进后出原则)。堆栈中的变量是从下向上释放,这样就保证了堆栈中先进后出的规则不与...
阅读全文
摘要:GC的前世与今生 虽然本文是以.net作为目标来讲述GC,但是GC的概念并非才诞生不久。早在1958年,由鼎鼎大名的图林奖得主John McCarthy所实现的Lisp语言就已经提供了GC的功能,这是GC的第一次出现。Lisp的程序员认为内存管理太重要了,所以不能由程序员自己来管理。但后来的日子里L...
阅读全文
摘要://将image转化为二进制 public static byte[] GetByteImage(Image img) { byte[] bt = null; if (!img.Equals(null)...
阅读全文
摘要:.Net编程中最经常用的元素,事件必然是其中之一。无论在ASP.NET还是WINFrom开发中,窗体加载(Load),绘制(Paint),初始化(Init)等等。“protected void Page_Load(object sender, EventArgs e)”这段代码相信没有人不熟悉的。细...
阅读全文
摘要:C# 中的委托和事件文中代码在VS2005下通过,由于VS2003(.Net Framework 1.1)不支持隐式的委托变量,所以如果在一个接受委托类型的位置直接赋予方法名,在VS2003下会报错,解决办法是显式的创建一个委托类型的实例(委托变量)。例如:委托类型 委托实例 = new 委托类型(...
阅读全文
摘要:protected void Page_Load(object sender, EventArgs e){DataTabledt = new DataTable();dt.Columns.Add("Name");dt.Columns.Add("Age");//因为是字符串,所以排序不对dt.Rows.Add("小明", "21");dt.Rows.Add("小张", "10");dt.Rows.Add("小红", "9");dt.Row
阅读全文
摘要:一.如果用官方提供的方法,在web.config里面配置好了各个参数和服务器IP。如下图: 则使用该通用...
阅读全文
摘要:分享下自己编写的Memcached通用类。欢迎大家帮忙指点下哈~使用的是.NET memcached client library 客户端+Memcached Providersusing System;using System.Collections;using System.Collection...
阅读全文
摘要:C#有string关键字,在翻译成.NET类时,它就是System.String.有了它,像字符串连接和字符串复制这样的操作就简单了.1. string 是引用类型还是值类型引用类型操作当使用重载操作符”=”给string对象赋值时,string的对象是引用类型,它保留在堆上,而不是堆栈上.因此,当把一个字符串赋给另一个字符串时,会得到对内存中同一个字符串的两个引用.例如,修改其中一个字符串,就会创建一个全新的string对象(注意,这个过程发生在”=”中),而另一个字符串没有改变.考虑下面的代码:public class MyClass{ public static void Main()
阅读全文
摘要:在应用枚举的时候,时常需要将枚举和数值相互转换的情况。有时候还需要转换成相应的中文。下面介绍一种方法。首先建立一个枚举: /// <summary> /// 颜色 /// </summary> public enum ColorType { /// <summary> /// 红色 /// </summary> Red, /// <summary> /// 蓝色 /// </summary> Bule, /// <summary> ...
阅读全文
摘要:一、简单介绍 using System.Xml; //初始化一个xml实例 XmlDocument xml=new XmlDocument(); //导入指定xml文件 xml.Load(path); xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml")); //指定一个节点 XmlNode root=xml.SelectSingleNode("/root"); //获取节点下所有直接子节点 XmlNodeList childlist=root.ChildNodes; //
阅读全文
摘要:大家在用 .NET 做图片水印功能的时候, 很可能会遇到 “无法从带有索引像素格式的图像创建graphics对象”这个错误,对应的英文错误提示是“A Graphics object cannot be created from an image that has an indexed pixel format"这个exception是出现在 System.Dra...
阅读全文