#region P8:判断字符是标点、空白字符?
/*
string band = "The band";
Console.WriteLine(char.IsWhiteSpace(band,4));// 3->TRUE;4->FALSE
Console.WriteLine(char.IsPunctuation(band,3));//
Console.WriteLine(char.IsPunctuation(' '));//FALSE,空格不是标点符号
Console.WriteLine(char.IsPunctuation('A'));//FALSE,A不是标点符号
Console.WriteLine(char.IsPunctuation(','));//TRUE,“,”是标点符号
//-------------中文字符与整型之间的转换---------------------
char zhong='中';
int intzhong=(int)zhong;
char 中中 = (char)intzhong;//中文字符作为变量;
Console.WriteLine("{0}转换成整型后是{1}",zhong,intzhong);
Console.WriteLine("整型{0}转换成中文字符后是{1}", intzhong, 中中);
//p9
FileStream fs = new FileStream("text.bin",FileMode.OpenOrCreate);
StreamWriter swU16 = new StreamWriter(fs,Encoding.Unicode);
swU16.Write("This is in unicode(utf16)");
swU16.Flush();
StreamWriter swU8 = new StreamWriter(fs, Encoding.UTF8);
swU8.Write("This is in unicode(utf16)");
swU8.Flush();
StreamWriter swASCII = new StreamWriter(fs, Encoding.ASCII);
swASCII.Write("This is in unicode(utf16)");
swASCII.Flush();
fs.Close();
Console.ReadLine();
*/
#endregion
#region 第二章
///*
//内置
string neizhi = "neizhi";//neizhi将内置
neizhi = neizhi + "s";//neizhi将不内置
string.Intern(neizhi);//编程将neizhi内置
Console.WriteLine(string.IsInterned(neizhi)!=null);
//常量const的il操作比非常量少
//StringBuilder的Length不是只读的;
StringBuilder sb1 = new StringBuilder("Hot dog!", 256);//提前设置合适的容量,可以减少内存的分配,提高性能;
Console.WriteLine(sb1.ToString());
sb1.Length = 3;//sb1后边的字符丢失了
Console.WriteLine(sb1.ToString());
sb1.Length = 10;//改回去后边丢失的字符没回来呀
Console.WriteLine(sb1.ToString());
//StringBuilder 转换成string;
string sb1s = sb1.ToString(0, 2);//从StringBuilder中获取子串
Console.WriteLine(sb1s);
//从String中获取子串
sb1s.Substring(0,2);
//字符串的比较
//通常静态方法的执行效率要高一些,因为不用建立实例
//但是当字符串不相等时,静态的方法就会调用实例的方法
//所以总体来说,可以用s1.Equals()
Console.WriteLine("sb1s与sb1相等吗?{0}", sb1s.Equals(sb1));
//字符串的格式化
DateTime dt = DateTime.Now;
Console.WriteLine(dt.ToString());
//Console.WriteLine(("F:{0}"), dt.ToString("F"));
//Console.WriteLine(("f:{0}"), dt.ToString("f"));
//Console.WriteLine(("Y:{0}"), dt.ToString("Y"));
//Console.WriteLine(("y:{0}"), dt.ToString("y"));
//Console.WriteLine(("D:{0}"), dt.ToString("D"));
Console.WriteLine(("d:{0}"), dt.ToString("d"));
//Console.WriteLine(("T:{0}"), dt.ToString("T"));
Console.WriteLine(("t:{0}"), dt.ToString("t"));
/*
// 测试不同的方法的执行效率
const int NUM=1000000;
string str5 = "It is been a long time since i rocked and rolled.";
string str6;
string str7;
StringBuilder sb8 = new StringBuilder(str5);
str6 = str5.Replace('!', '!');
int startTime;
int endTime;
int count;
startTime = Environment.TickCount;
for (int i = 0; i < NUM; i++)
{
//str7 = str5.Insert(12,"really ");
//str5 = str7.Remove(12, 7);
sb8.Insert(12, "really ");//注意空格,没有空格的话就变成了插入6个,删除7个了,会引发异常;
sb8.Remove(12, 7);
}
endTime = Environment.TickCount;
count = endTime - startTime;
Console.WriteLine("用的时间是{0}",count);
*/
//数字格式化成为字符
int i51 = 54321;
Console.WriteLine(i51.ToString("n",new CultureInfo("fr-FR")));
//ArrayList 可以正确得到每个值的类型;
double db = 6;
ArrayList myAL = new ArrayList();
myAL.Add("aaaa aaa");
myAL.Add("bbbb bbbbb");
myAL.Add(db);
myAL.Add(6);
myAL.Add(6.3);
for (int i = 0; i < myAL.Count; i++)
{
Console.WriteLine("{0}\t 类型:{1}",myAL[i],myAL[i].GetType());
}
Console.ReadLine();