AssemblyInfo.cs做什么用的 怎么用
AssemblyInfo.cs是关于本程序集(一般是dll)的一些信息,主要都是Attribute(特性),用来记录本程序集的版权,公司,以及自已可以定义的一些信息
关于VC++互斥体中ReleaseMutex函数的问题
一个线程可以重复占有mutex, 占有几次资源, 就要释放几次资源, 不然别的线程没法获得mutex
main()线程在CreateMutex(TRUE)的时候已经占用资源, 在WaitForSingleObject( hMutex )再次占用, 他需要释放两次
string.empty
一、意思不同
实际上Empty是string类中的一个静态的只读字段,他的定义是这样的:public static readonly String Empty = ““;也就是说string.Empty的内部实现是等于””的。-nfo
二、好处不同
““创建一个对象string.Empty不创建对象参考文献,这使得string.Empty更有效率。在.NET 2.0及更高版本中,所有出现在““引用相同的字符串文字,这意味着““等于.Empty,但还是不如.Length == 0.Length == 0是最快的选择,但是.Empty使代码稍微干净一些。-em
三、用法不同
string.Empty不分配存储空间,““分配一个长度为空的存储空间,所以一般用string.Empty
为了以后跨平台,还是用string.empty,在 C# 中,大多数情况下 ““ 和 string.Empty 可以互换使用。-nfo
如果判断一个字符串是否是空串,使用if(s==String.Empty)和if(s==””)的效率是一样的,但是最高效的写法是if(s.Length==0)
string.IsNullOrEmpty的内部实现方式:
public static bool IsNullOrEmpty(string value)《br》{《br》 if (value != null) { return (value.Length == 0); } return true;}而string str=null则是表示str未指向任何对象。