<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title>DongPad</title><link>http://www.dongpad.com</link> <description>Every day is a new beginning!</description><copyright>2.0 beta 03</copyright> <language>zh-cn</language><item><title>string（C# 参考）</title><description><![CDATA[<p>string 类型表示零或更多 Unicode 字符组成的序列。string 是 .NET Framework 中 String 的别名。 </p>  <p>尽管 string 是引用类型，但定义相等运算符（== 和 !=）是为了比较 string 对象（而不是引用）的值。这使得对字符串相等性的测试更为直观。例如： </p>  <p> 复制代码   <br />&#160;&#160;&#160;&#160;&#160; string a = "hello";    <br />string b = "h";    <br />// Append to contents of 'b'    <br />b += "ello";    <br />Console.WriteLine(a == b);    <br />Console.WriteLine((object)a == (object)b);这将先显示“True”，然后显示“False”，因为字符串的内容是相同的，但是 a 和 b 引用的不是同一个字符串实例。 </p>  <p>+ 运算符用于连接字符串： </p>  <p> 复制代码   <br />&#160;&#160;&#160;&#160;&#160; string a = "good " + "morning";这将创建一个包含“good morning”的字符串对象。 </p>  <p>字符串是不可变的，即：字符串对象在创建后，尽管从语法上看您似乎可以更改其内容，但事实上并不可行。例如，编写此代码时，编译器实际上会创建一个新字符串对象来保存新的字符序列，变量 b 继续保存“h”。 </p>  <p> 复制代码   <br />&#160;&#160;&#160;&#160;&#160; string b = "h";    <br />b += "ello";[] 运算符可以用来访问 string 中的各个字符： </p>  <p> 复制代码   <br />&#160;&#160;&#160;&#160;&#160; string str = "test";    <br />char x = str[2];&#160; // x = 's';字符串为 string 类型并可写成两种形式，即用引号引起来和用 @ 引起来。用引号引起来的字符串括在双引号 (") 内： </p>  <p> 复制代码   <br />"good morning"&#160; // a string literal字符串可以包含包括转义序列在内的任何字符： </p>  <p> 复制代码   <br />&#160;&#160;&#160;&#160;&#160; string a = "\\\u0066\n";上面的字符串包含一个反斜杠、字母 f 和一个新行。 </p>  <p>注意&#160; <br />转义码 \udddd（其中 dddd 是一个四位数）表示 Unicode 字符 U+dddd。此外还识别 8 位 Unicode 转义码：\udddd\udddd。</p>  <p>用 @ 引起来的字符串以 @ 开头，并且也用双引号引起来。例如： </p>  <p> 复制代码   <br />@"good morning"&#160; // a string literal用 @ 引起来的优点在于换码序列“不”被处理，这样就可以轻松写出字符串，例如一个完全限定的文件名： </p>  <p> 复制代码   <br />@"c:\Docs\Source\a.txt"&#160; // rather than "c:\\Docs\\Source\\a.txt"若要在一个用 @ 引起来的字符串中包括一个双引号，请使用两对双引号： </p>  <p> 复制代码   <br />@"""Ahoy!"" cried the captain." // "Ahoy!" cried the captain.@ 符号的另一种用法是使用碰巧成为 C# 关键字的被引用的 (/reference) 标识符。 </p>  <p> 示例    <br /> 复制代码    <br />// keyword_string.cs    <br />using System;    <br />class TestClass     <br />{    <br />&#160;&#160; static void Main()    <br />&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160; string a = "\u0068ello ";    <br />&#160;&#160;&#160;&#160;&#160; string b = "world";    <br />&#160;&#160;&#160;&#160;&#160; Console.WriteLine( a + b );    <br />&#160;&#160;&#160;&#160;&#160; Console.WriteLine( a + b == "hello world" );    <br />&#160;&#160; }    <br />}输出    <br />hello world    <br />True</p>]]></description><author>Jack</author><link>http://www.dongpad.com/CSharp-20090315-166.html</link><pubdate>2009-3-15 0:51:03</pubdate></item></channel></rss>