C#学习笔记壹---字符串处理技术(1)

来到公司也20天了。还在看书,自己找了褚哥一下就被派去了另一个部门,说是先去跑跑,也不知道以后会不会找个借口调我过去,还是得自己加油啊学习一定不能停~!在公司看C#高级编程,老厚的一本一千多页,看着头大,自己买了两本开发实例大全,看看,照着敲敲,写点笔记感悟什么的~!

3.1讲了字符及字符串转换,举了四个例子,分别是35将字母全部转换为大写或小写,36字母与ASCII码转换,37汉字与区位码的转换,38将汉字转换为拼音。

35、将字母全部转换为大写或小写;

本实例实现时主要用到了字符串对象的ToUpper方法和ToLower方法

               string P_str_book="mingribook".ToUpper(); 2 string P_str_book="mingribook".ToLower();

从左到右分别是定义类型,定义变量名,字符串对象(原字符串),调用方法;

从上面看出字符串对象调用ToUpper方法后,会返回一个将原字符转换为大写的新字符串,并将新字符串的引用交给P_str_book变量。

字符串在创建之后就成为不可变的对象,当调用字符串对象的方法操作字符串时,会产生新的字符串对象,而不是更改原来的字符串。
36、字母与ASCII码的转换;

本实例实现时主要用到了Encoding对象的GetBytes方法,

string P_str_temp="abc";//定义字符串变量并得到字符串对象引用
Encoding P_str_encoding=Encoding.GetEncoding("unicode");//调用Encoding类的GetEncoding方法得到Encoding对象
//((Returns an encoding for the specified code page.返回指定代码页的编码))
byte[] P_byte=P_encodong.GetBytes(P_str_temp);//调用Encoding对象的GetBytes方法得到字节数组对象

string P_str=P_byte[0].ToString();//将byte值转换为字符串对象



Encoding 类中的GetBytes(String)方法,在派生类中重写时,将指定字符串中的所有字符编码为一个字节序列。

Encoding类中的GetBytes(char[])方法,在派生类中重写时,将指定字符数组中的所有字符编码为一个字节序列。

字母一个字节,汉字等两个字节,一个字节用Unicode编码时占用两个字节,第二个字节为0

new char[] { txt_char.Text[0] }是字符数组,GetBytes(new char[] { txt_char.Text[0] })是把字符转换成字节数组,为满足语言种类的多样,Unicode字符是用两个字节编码,字母数字等字符还是沿用原先的编码,只是从一个字节变成了两个字节,原只占一个字节的字符在Unicode编码中只占用第一个字节,第2个字节为0。所以GetBytes(new char[] { txt_char.Text[0] })[1]是取第二个字节中的编码

        private void btn_ToASCII_Click(object sender, EventArgs e)
        {
            if (txt_char.Text != string.Empty)//判断输入是否为空
            {
                if (Encoding.GetEncoding("unicode").//判断输入是否为字母
                    GetBytes(new char[] { txt_char.Text[0] })[1] == 0)
                {
                    txt_ASCII.Text = Encoding.GetEncoding(//得到字符的ASCII码值
                        "unicode").GetBytes(txt_char.Text)[0].ToString();
                }
                else
                {
                    txt_ASCII.Text = string.Empty;//输出空字符串
                    MessageBox.Show("请输入字母!","提示!");//提示用户信息
                }
            }
        }
        private void btn_ToChar_Click(object sender, EventArgs e)
        {
            if (txt_ASCII2.Text != string.Empty)//判断输入是否为空
            {
                int P_int_Num;//定义整型局部变量
                if (int.TryParse(//将输入的字符转换为数字
                    txt_ASCII2.Text, out P_int_Num))
                {
                    txt_Char2.Text =
                        ((char)P_int_Num).ToString();//将ASCII码转换为字符
                }
                else
                {
                    MessageBox.Show(//如果输入不符合要求弹出提示框
                        "请输入正确ASCII码值。", "错误!");
                }
            }
            string P_str_temp = "abc";
            string P_str = Encoding.GetEncoding("unicode").GetBytes(new char[] { P_str_temp[0] })[0].ToString();
        }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值