Welcome

首页 / 软件开发 / .NET编程技术 / [你必须知道的.NET]第二十二回:字符串驻留(上)---带着问题思考

[你必须知道的.NET]第二十二回:字符串驻留(上)---带着问题思考2011-03-23 博客园 Anytao走钢丝的人,在刺激中体验快感。带着问题思考,在问题上迸发火花。

或者给问题以答案,或者给答案以问题,你可能永远无法看清全部,但是总能从一点突破很多。事实的关键就在于面对问题,我该如何思考?

String Interning(字符串驻留)就是这样一个值得思考的话题,带着问题思考,我们至少要理清以下几个问题:

什么是string?

什么是字符串驻留?

字符串驻留的运行机制及执行过程?

字符串驻留的其他问题?

带着几个问号,你必须知道的.NET,继续更多体验。

1 带着问题?

带着问题思考,是技术探索的最佳实践, 每当我收到很多朋友来函探讨技术的问题,总能给我很多的技术思索和惊喜,今天我们的话题就是由一个朋友的来函开始的,你可以通过链接打开KiMoGiGi在To 王涛 的问题一文中精彩绝伦的思考和探讨,带着他的提问,引着我的思考,完成本文对string的一点点探讨。

首先,本文也无一例外的从8个测试开始,也希望读者能沿着这几个简单的示例来思考答案。如果对此包含热情,不妨可以试试,你开始了吗?

// Release : code01, 2008/08/20

// Author : Anytao, http://www.anytao.com

static void Main()

{

string s1 = "abc";

Console.WriteLine(string.IsInterned(s1) ?? "null");

}

这是个简单的例题,可以很快给出答案。

// Release : code02, 2008/08/20

// Author : Anytao, http://www.anytao.com

static void Main()

{

string s1 = "ab";

s1 += "c";

Console.WriteLine(string.IsInterned(s1) ?? "null");

}