http://msdn.microsoft.com/zh-cn/library/ms228362.aspx
// 字符串示例,其中string和String是相同的,根据喜好使用
/*
string s1 = null;
String s2 = s1;
String s3 = "";
string s4 = String.Empty;
Console.WriteLine(s2==s3);//输出结果为False
Console.WriteLine(s2 == s4);//输出结果为False
Console.WriteLine(s3 == s4);//输出结果为True;
//以上的s2赋值为null,s3,s4的赋值为空(其中String.Empty为""的替代方法)。
//且由以上输出结果可知null与""是不同的。
const string s5="I'm a chinese";//定义一个固定的字符串,此后不能将其它字符串赋值给s5
//s5 = "aaa";这条语句将产生错误
//不过不加const的化也不允许对字符串重新赋值,如下也为错误定义:
//string s7="USA";
//string s7="UAE";不能如此,提示“已在刺范围定义了名为‘s5’的局部变量”。
//s7="UAE";可以重新给s7赋值,但"USA"并没有消失,只是s7现在指向了新的字符串对象"UAE",此时"USA"没被引用则在适当时将被回收
Console.WriteLine("s5为:"+s5);/
char[] c = {'a','b','c','d','e'};
string s6=new string (c);//从数组转化为字符串
Console.WriteLine("s6为:"+ s6);//输出结果为True;
*/
//当连接 s1 和 s2 的内容以形成一个字符串时,不会修改两个原始字符串。+= 运算符会创建一个包含组合内容的新字符串。这个新对象赋给变量 s1,而最初赋给 s1 的对象由于没有其他任何变量包含对它的引用而释放,用于垃圾回收。
/*
string s1 = "A string is more ";
string s2 = "than the sum of its chars.";
//s1 += s2;
s1 = s1 + s2;
System.Console.WriteLine(s1);
// Output: A string is more than the sum of its chars.
*/
//-=============================================
// string s="R\tU\tOK?";//转义字符\t
// Console.WriteLine(s);
// string filePath = @"C:\Users\scoleridge\Documents\";//原义字符串
// Console.WriteLine(filePath);
// string uu = @"a
// b
// c
// d";
// Console.WriteLine(uu);
// string uu2 = @"你是""猪""";//要在字符串内输出双引号,则需套用"",即""""
// Console.WriteLine(uu2);//输出你是"猪"
//Console.WriteLine("请输入您的籍贯:");
//string input =Console .ReadLine ();//从命令行读入字符串。
//Console .WriteLine ("您是"+input+"人");
/*
Console.WriteLine("请输入一个整数:");
string inputInt =Console .ReadLine ();//inputInt的值并不是输入的整数,而是输入整数对应的数字字符串
Console.WriteLine(@"您输入整数的对应的""字符串""是:" + inputInt);
int i;
Int32.TryParse(inputInt, out i);//将数字字符串转换成数字,此时i的值为整数
int j;
j = i;
Console.WriteLine("j的值是:{0},且为整型" ,j);
*/
/*WriteLine 方法的一个重载将格式字符串用作参数。因此,可以只嵌入格式字符串,而无需显式调用该方法。
* 但若使用 WriteLine 方法在 Visual Studio“输出”窗口中显示调试输出,则必须显式调用 Format 方法,
* 因为 WriteLine 只接受字符串,而不接受格式字符串。有关格式字符串的更多信息,请参见格式化类型。 */
//string s;
//int j=6;
//for (int i = 0; i < 10; i++)
//{
// // A simple format string with no alignment formatting.
// //s = System.String.Format("{0} times {1} = {2}", i, j, (i * j));//格式化字符串
// s = string.Format("{0} times {1} = {2}", i, j, (i * j));//格式化字符串
// System.Console.WriteLine(s);
// //Console.WriteLine("{0} times {1}={2}", i, j, (i * j));
//}
//Console.ReadKey();
//子字符串===============================================================================
string s = "Southwest Jiao Tong University";
string s1 = s.Substring(10, 4);// 应该注意:Substring(start,length)中start应该是实际位置减一。比如J的start值为10
Console.WriteLine(s1);//输出Jiao
string s2=s.Replace("South", "North");//替换
Console.WriteLine(s2);//输出Northwest Jiao Tong University
int i = s.IndexOf('T');
Console.WriteLine(i); //输出15(实际位置16减1)
int j = s.IndexOf("Jiao");
Console.WriteLine(j);//输出10
int k = s.IndexOf('o');
Console.WriteLine(k);//输出 1,第一次出现o的位置
int m = s.IndexOf('x');
Console.WriteLine(m);//输出-1,不存在则输出-1
string s = "Southwest Jiao Tong University";
for (int i = 0; i < s.Length; i++)
{
Console.WriteLine(s[i]);
}
/*如果 String 方法不提供修改字符串中的各个字符所必须具有的功能,
则您可以使用 StringBuilder 对象“就地”修改各个字符,然后使用 StringBuilder 方法创建一个新字符串来存储结果。
在下面的示例中,假设您必须以特定方式修改原始字符串,然后存储结果以备将来使用:
*/
//以下程序将字符串全部转换成大写
string lowerCase = @"i love you";
StringBuilder upperCase = new StringBuilder(lowerCase );
for (int i = 0; i < upperCase.Length; i++)
{
if (char .IsLower (upperCase[i])==true )
upperCase [i]=char .ToUpper (upperCase [i]);
}
//string now = upperCase.ToString();
//Console.WriteLine(now);
Console.WriteLine(upperCase );
//
//string test = "cat";
//test[0] = 'C';string类的对象不许被修改,但可以用StringBuilder类“就地”修改的字符缓冲区
//Console.WriteLine(test);
StringBuilder test = new StringBuilder("cat");
test[0]='C';
Console.WriteLine(test);
Console.WriteLine(test.ToString() );//将StringBuilder类转化为string类型
快速链接:http://www.diaomin.org/go/32935.html
Tags:




没人甩我?!
到此一游