How to: Create a C/C++ Union by Using Attributes (C#)
摘要:【How to: Create a C/C++ Union by Using Attributes (C#)】 1、you can create what is known as a union in C/C++ by using the StructLayout(LayoutKind.Explic
阅读全文
C# File API
摘要:【C# File API】 1、System.IO.File Provides static methods for the creation, copying, deletion, moving, and opening of a single file, and aids in the crea
阅读全文
Implementing a Dispose method
摘要:【Implementing a Dispose method】 0、Dispose() and Dispose(Boolean) The IDisposable interface requires the implementation of a single parameterless metho
阅读全文
Object.MemberwiseClone
摘要:【Object.MemberwiseClone】 Creates a shallow copy of the current Object. C#的 Object对象中没有Clone()方法,只有MemberwiseClone()。下面是官方给的ShallowCopy、DeepCopy的示例。 参考
阅读全文
Calling Synchronous Methods Asynchronously
摘要:【Calling Synchronous Methods Asynchronously】 使用 .NET Framework 可以以异步方式调用任何方法。 要实现此操作,请定义一个委托,此委托具有与你要调用的方法相同的签名;公共语言运行时会自动使用适当的签名为此委托定义 BeginInvoke 和
阅读全文
.net framework4与其client profile版本的区别
摘要:【.net framework4与其client profile版本的区别】 简而言之,client profile版本是完整版本的一个子集。包含大多数最常用的功能并减小了体积,以便更容易的安装和发布,同时还有微软所声称的一些好处,比如因为减少了某些库,所以使其更加安全等等。 从.net 2.0开始
阅读全文
委托
摘要:【委托】 public delegate void GreetingDelegate(string name); 1、委托在编译的时候会被编译成类(class)。因为Delegate是一个类,它定义了方法的类型,所以在任何可以声明类的地方都可以声明委托。 2、第一次就使用"+=",将出现“使用了未赋
阅读全文
可空类型
摘要:【可空类型】 可空类型可以表示基础类型的所有值,另外还可以表示 null 值。可空类型可通过下面两种方式中的一种声明: System.Nullable<T> variable - 或 - T? variable T 是可空类型的基础类型。T 可以是包括 struct 在内的任何值类型;但不能是引用类
阅读全文
为什么C#中应该用Try-Catch?
摘要:【为什么C#中应该用Try-Catch?】 http://blog.csdn.net/dier4836/article/details/7292897
阅读全文
fixed语句
摘要:【fixed语句】 fixed语句禁止垃圾回收器重定位可移动的变量。fixed语句只能出现在不安全的上下文中。Fixed还可用于创建固定大小的缓冲区。 fixed语句设置指向托管变量的指针,并在执行该语句期间“固定”此变量。如果没有fixed语句,则指向可移动托管变量的指针的作用很小,因为垃圾回...
阅读全文
扩展方法
摘要:【扩展方法】 扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。
阅读全文
嵌套类的访问
摘要:【嵌套类的访问】对于以下数据,如何在运行时通过字符串来得到静态变量UIPath的值。1 public class GameMainMenu : UIClass2 {3 public class JetPack : UIClass4 {5 public static U...
阅读全文
C#泛型序列化困境
摘要:【C#泛型序列化困境】 问题的起因是这样,有一个需求,将JsonArray转化为List,JsonArray中的元素均是string,此string可被转化为int、float、或维持string。我的方案是扩展System.Collection.Generic.List,实现一个void Par...
阅读全文
Lamda所有的Capture均是引用
摘要:【Lamda所有的Capture均是引用】 下面的程序,两个lambda 引用的实际上是同一个a、b。连int都能引用了,说明Lambda对所有类型都是以引用来处理。 1 int a = 0; 2 int b = 1; 3 Func exe = ()=>{ 4 ...
阅读全文
Fundamentals of Garbage Collection
摘要:【Fundamentals of Garbage Collection】1、Reclaims objects that are no longer being used, clears their memory, and keeps the memory available for future a...
阅读全文
CLR的八大特性
摘要:【CLR的八大特性】 Code that you develop with a language compiler that targets the runtime is called managed code. CLR的八大特性:The ability to easily use compon...
阅读全文
Work-Stealing in .NET 4.0
摘要:【Work-Stealing in .NET 4.0】 1、线程按LIFO取Task,因为最后一个Task很可能还在Cache中,提高命中率。 2、Stealer从FIFO取Task,最先加入的Task会不可能被原线程Cache。 参考:http://blogs.msdn.com/b/je...
阅读全文
获取当前栈信息
摘要:【获取当前栈信息】 System.Diagnostics.StackFrame代表一层栈的信息,System.Diagnostics.StackTrace是Frame集合,代表整个栈的信息。0是层次最深的一层。在LOG时,栈信息非常有用。 参考:1、http://msdn.microsoft.c...
阅读全文
分部类
摘要:【分部类】 可以将类或结构、接口或方法的定义拆分到两个或多个源文件中。每个源文件包含类型或方法定义的一部分,编译应用程序时将把所有部分组合起来。如: 使用partial的几个要点: 1、所有部分都必须使用partial关键字。可使用范围为class、struct、interface。 2...
阅读全文