不常用的C#系列
文章平均质量分 75
robingaoxb
这个作者很懒,什么都没留下…
展开
-
《你不常用的c#之三》:Action 之怪状
例1:static void Main(string[] args){List ls = new List();for (int i = 0; i Console.WriteLine(i));}foreach (Action action in ls){action();}System.Console.Read();} 输出结果:例2:static void Main(string[] args){List ls = new List();for (i转载 2011-02-22 14:05:00 · 4141 阅读 · 0 评论 -
《你不常用的c#之五》:Thread与ThreadPool的内存之战
<br />Thread与ThreadPool使用的时候在内存里对象是如何分布的呢? <br />今天我们就从内存堆的角度分析下两者。 <br />先上小白鼠代码:<br />static void Main(string[] args) { for (int i = 0; i < 30; i++) { Thread t = new Thread(new ThreadStart(ThreadProc));转载 2011-02-22 17:06:00 · 2758 阅读 · 0 评论 -
《你不常用的c#之二》:略谈GCHandle
<br />我们在使用c#托管代码时,内存地址和GC回收那不是我们关心的,CLR已经给我们暗箱操作。<br />但是如果我们在c#中调用了一个非托管代码,比如vc的DLL,而且他有个回调函数,需要引用c#中的某个对象并操作,<br />这时候你就得要小心了。<br />要是非托管代码中用到得托管代码那个对象被GC给回收了,这时候就会报内存错误。<br />所以我们就要把那个对象“钉”住(pin),让它的内存地址固定,而不被垃圾回收掉,然后最后我们自己管理,自己释放内存,这时候就需要GCHandle,来看个m转载 2011-02-22 11:16:00 · 10368 阅读 · 1 评论 -
《你不常用的c#之四》:Array的小抽屉ArraySegment
<br />一:)略谈<br />ArraySegment顾名思义就是Array区块,数组的小抽屉,用于对该数组中元素的范围进行分隔。比如这个数组: <br />String[] myArr = { "Overred", "Medloy", "Xiaoguai", "Hare" }; <br />我们用ArraySegment这个抽屉给装起来就是:<br />ArraySegment<String> arrSeg = new ArraySegment<String>(myArr); <br />只需for一转载 2011-02-22 14:58:00 · 14353 阅读 · 1 评论 -
《你不常用的c#之一》:略谈unsafe
<br /> <br />msdn里讲到:<br />“在 C# 中很少需要使用指针,但仍有一些需要使用的情况。例如,在下列情况中使用允许采用指针的不安全上下文是正确的:处理磁盘上的现有结构涉及内部包含指针的结构的高级 COM 或平台调用方案性能关键代码<br />对于第一和第二点,主要是调win32的api。<br />但是“性能关键代码”这个非常重要。我来举例引申一下。<br />我们都知道像飞信这种大型IM服务端,难免会面临大量的字符处理(协议报文)。<br />如果同时在线100多万,而且大家都同时转载 2011-02-22 11:15:00 · 6652 阅读 · 0 评论 -
重载WndProc
开发时再Form类中可以实现WndProc函数的重载:protected override void WndProc(ref Message m){ base.WndProc(ref m);} 此函数的原型为:LRESULT CALLBACK WindowProc( __in HWND hwnd, __in UINT uMsg, __in W原创 2011-06-10 09:52:00 · 1032 阅读 · 0 评论 -
C# Excel 行高,列宽,合并单元格,单元格边框线,冻结
C# Excel 行高,列宽,合并单元格,单元格边框线,冻结2009年03月19日 星期四 15:56private _Workbook _workBook = null;private Worksheet _workSheet = null;private Excel.Application _excelApplicatin = null;_exce转载 2011-06-23 11:53:00 · 1120 阅读 · 0 评论 -
对象序列化补充
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Runtime.InteropServices;namespace DataB原创 2011-07-08 09:45:15 · 671 阅读 · 0 评论