阅读笔记:《C#字符串和正则表达式参考手册》 1-4章部分代码



            #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();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值