C#中null,"",string.Empty的区别 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 null是空引用,表明string不指向任何字符串的引用string.Empty和“”没什么太大区别主要可能的区别是string.Empty是string的静态字段,所以常驻在字符串的缓存中,而“”则不一定比如string a=string.Emptystring b=string.Empty则a和b指向的肯定是同一对象string a=""string b=""a和b有可能指向同一对象,也有可能指向了不同对象,但对象的内容都是"" Null是空引用,即既无内容,也无引用string.Empty 强调对象为空。“” 强调对象内容为 "" null和string.Empty都是空引用,不过null没有在磁盘上开辟空间,而string.Empty在磁盘上开辟了空间,占据了一个位子. class string{public static string Empty="";{所以string.Empty和""是一样的,和null是不一样的。只不过string.Empty是静态字段,与动态分配的"",在内存分配时会有不同 string a = string.Empty; string b = ""; string c = null; if (a == null) { Console.WriteLine("a = null"); } if (b == null) { Console.WriteLine("b = null"); } if (c == null) { Console.WriteLine("c = null"); } string a1 = string.Copy(a); string a2 = string.Empty; if (a1.Clone() == a.Clone()) { Console.WriteLine("a1 = a"); } if (a2.Clone() == a.Clone()) { Console.WriteLine("a2 = a"); } string b1 = string.Copy(b); string b2 = ""; if (b1.Clone() == b.Clone()) { Console.WriteLine("b1 = b"); } if (b2.Clone() == b.Clone()) { Console.WriteLine("b2 = b"); }拿这段测试程序跑一下就明白了 string.Empty = "" string.Empty != nullnull代表空,什么地方都是空,根本不存在 string str=null 空引用 不占用内存空间string str=string.empty; 强类型转为空,占用内存分配空间 null为空引用,没有开辟空间string.Empty开辟了空间详细解释:http://student.csdn.net/space.php?uid=623773&do=blog&id=58040 字符串分析 公交查询系统 一个简单的问题 问个日期格式化的初级问题。。。 .NET如何判断键盘按下的键是F1-----F12,以及其他非可视键????(着急用,谢谢啦!) SqlDataAdapter 的注入疑问 求各位帮帮忙,偶快急死了!在线等待! 请问如何将int和System.DataTime类型转换为string类型? 简单ACCESS处理问题 高分求c#教程 开发跳棋如何存储棋子位置?如果用数组如何存储,坐标如何处理呢? treeView 子节点同父节点选中取消,双击节点的复选框时Bug
string.Empty和“”没什么太大区别
主要可能的区别是string.Empty是string的静态字段,所以常驻在字符串的缓存中,而“”则不一定
比如
string a=string.Empty
string b=string.Empty
则a和b指向的肯定是同一对象
string a=""
string b=""
a和b有可能指向同一对象,也有可能指向了不同对象,但对象的内容都是""
string.Empty 强调对象为空。
“” 强调对象内容为 ""
不过null没有在磁盘上开辟空间,而string.Empty在磁盘上开辟了空间,占据了一个位子.
class string
{
public static string Empty="";
{
所以string.Empty和""是一样的,和null是不一样的。只不过string.Empty是静态字段,与动态分配的"",在内存分配时会有不同
string b = "";
string c = null;
if (a == null)
{
Console.WriteLine("a = null");
}
if (b == null)
{
Console.WriteLine("b = null");
}
if (c == null)
{
Console.WriteLine("c = null");
} string a1 = string.Copy(a);
string a2 = string.Empty;
if (a1.Clone() == a.Clone())
{
Console.WriteLine("a1 = a");
}
if (a2.Clone() == a.Clone())
{
Console.WriteLine("a2 = a");
} string b1 = string.Copy(b);
string b2 = "";
if (b1.Clone() == b.Clone())
{
Console.WriteLine("b1 = b");
}
if (b2.Clone() == b.Clone())
{
Console.WriteLine("b2 = b");
}拿这段测试程序跑一下就明白了
string.Empty != null
null代表空,什么地方都是空,根本不存在
string str=string.empty; 强类型转为空,占用内存分配空间
string.Empty开辟了空间详细解释:http://student.csdn.net/space.php?uid=623773&do=blog&id=58040