来到公司也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(); }