知识点string1Stirng.Empty表示空字符串。 此字段为只读。此字段的值为零长度字符串“”。string为引用数据类型。会在内存的栈和堆上分配存储空间。因此string.Empty与“”都会在栈上保存一个地址,这个地址占4字节指向内存堆中的某个长度为0的空间这个空间保存的是string.Empty的实际值。区别于nullnull 只在栈上分配了空间在堆上没有分配out可以在两个上下文中使用 out 关键字作为 参数修饰符通过引用而不是值将参数传递给方法。在接口和委托的 泛型类型参数声明中 该声明指定类型参数是协变的。当方法需要返回多个值时关键字 out 特别有用因为可以使用多个 out 参数。12345678910111213141516publicvoidMain(){doubleradiusValue 3.92781;//Calculate the circumference and area of a circle, returning the results to Main().CalculateCircumferenceAndArea(radiusValue,outdoublecircumferenceResult,outvar areaResult);System.Console.WriteLine($Circumference of a circle with a radius of {radiusValue} is {circumferenceResult}.);System.Console.WriteLine($Area of a circle with a radius of {radiusValue} is {areaResult}.);Console.ReadLine();}//The calculation worker method.publicstaticvoidCalculateCircumferenceAndArea(doubleradius,outdoublecircumference,outdoublearea){circumference 2 * Math.PI * radius;area Math.PI * (radius * radius);}Encoding将字符串从一种编码转换为另一种编码编码Encoding将 Unicode 字符转换为字节序列的过程。解码Decoding将字节序列转换回 Unicode 字符的过程。方法GetEncoding。返回指定代码页的编码。属于编码过程12345678910111213141516171819202122232425//返回与指定代码页名称关联的编码。//Encoding.GetEncoding(String)usingSystem;usingSystem.Text;publicclassSamplesEncoding {publicstaticvoidMain() {// Get a UTF-32 encoding by codepage.Encoding e1 Encoding.GetEncoding( 12000 );// Get a UTF-32 encoding by name.Encoding e2 Encoding.GetEncoding(utf-32);// Check their equality.Console.WriteLine(e1 equals e2? {0}, e1.Equals( e2 ) );}}/*This code produces the following output.e1 equals e2? True*/编码表常用编码格式GetBytes在派生类中重写时将一组字符编码为一个字节序列。属于解码过程12//GetBytes(Char[])//在派生类中重写时将指定字符数组中的所有字符编码为一个字节序列。字符串转换为数组字符串可以理解为在字符数组。所以对手winform控件textbox的text值也可以作为字符数组12345678910111213141516if(textBox1.Text!){stringchars_StrA hello;stringchars_StrBstring.Empty;char[] txtChars01 newchar[10];char[] txtChars02 newchar[10];for(inti0;itextBox1.Text.Length;i){txtChars01[i] textBox1.Text[i];}for(intj 0; j chars_StrA.Length; j){txtChars02[j] chars_StrA[j];chars_StrB txtChars02[j];}}代码12345678910111213141516171819202122232425262728293031323334privatevoidbtn_ToASCII_Click(objectsender, EventArgs e){if(txt_char.Text!string.Empty){if(Encoding.GetEncoding(unicode).GetBytes(newchar[] { txt_char.Text[0] })[1]0){txt_ASCII.Text Encoding.GetEncoding(unicode).GetBytes(txt_char.Text)[0].ToString();}else{txt_ASCII.Text string.Empty;MessageBox.Show(请输入字母,提示);}}}privatevoidbtn_ToChar_Click(objectsender, EventArgs e){if(txt_ASCII2.Text!string.Empty){intP_int_Num;//定义整型局部变量if(int.TryParse(txt_ASCII2.Text,outP_int_Num)){txt_Char2.Text ((char)P_int_Num).ToString();}else{MessageBox.Show(请输入正确ASCII码值,错误);}}}复制讲解到此这篇关于C#实现ASCII和字符串相互转换的代码示例的文章就介绍到这了
C#实现ASCII和字符串相互转换的代码示例
知识点string1Stirng.Empty表示空字符串。 此字段为只读。此字段的值为零长度字符串“”。string为引用数据类型。会在内存的栈和堆上分配存储空间。因此string.Empty与“”都会在栈上保存一个地址,这个地址占4字节指向内存堆中的某个长度为0的空间这个空间保存的是string.Empty的实际值。区别于nullnull 只在栈上分配了空间在堆上没有分配out可以在两个上下文中使用 out 关键字作为 参数修饰符通过引用而不是值将参数传递给方法。在接口和委托的 泛型类型参数声明中 该声明指定类型参数是协变的。当方法需要返回多个值时关键字 out 特别有用因为可以使用多个 out 参数。12345678910111213141516publicvoidMain(){doubleradiusValue 3.92781;//Calculate the circumference and area of a circle, returning the results to Main().CalculateCircumferenceAndArea(radiusValue,outdoublecircumferenceResult,outvar areaResult);System.Console.WriteLine($Circumference of a circle with a radius of {radiusValue} is {circumferenceResult}.);System.Console.WriteLine($Area of a circle with a radius of {radiusValue} is {areaResult}.);Console.ReadLine();}//The calculation worker method.publicstaticvoidCalculateCircumferenceAndArea(doubleradius,outdoublecircumference,outdoublearea){circumference 2 * Math.PI * radius;area Math.PI * (radius * radius);}Encoding将字符串从一种编码转换为另一种编码编码Encoding将 Unicode 字符转换为字节序列的过程。解码Decoding将字节序列转换回 Unicode 字符的过程。方法GetEncoding。返回指定代码页的编码。属于编码过程12345678910111213141516171819202122232425//返回与指定代码页名称关联的编码。//Encoding.GetEncoding(String)usingSystem;usingSystem.Text;publicclassSamplesEncoding {publicstaticvoidMain() {// Get a UTF-32 encoding by codepage.Encoding e1 Encoding.GetEncoding( 12000 );// Get a UTF-32 encoding by name.Encoding e2 Encoding.GetEncoding(utf-32);// Check their equality.Console.WriteLine(e1 equals e2? {0}, e1.Equals( e2 ) );}}/*This code produces the following output.e1 equals e2? True*/编码表常用编码格式GetBytes在派生类中重写时将一组字符编码为一个字节序列。属于解码过程12//GetBytes(Char[])//在派生类中重写时将指定字符数组中的所有字符编码为一个字节序列。字符串转换为数组字符串可以理解为在字符数组。所以对手winform控件textbox的text值也可以作为字符数组12345678910111213141516if(textBox1.Text!){stringchars_StrA hello;stringchars_StrBstring.Empty;char[] txtChars01 newchar[10];char[] txtChars02 newchar[10];for(inti0;itextBox1.Text.Length;i){txtChars01[i] textBox1.Text[i];}for(intj 0; j chars_StrA.Length; j){txtChars02[j] chars_StrA[j];chars_StrB txtChars02[j];}}代码12345678910111213141516171819202122232425262728293031323334privatevoidbtn_ToASCII_Click(objectsender, EventArgs e){if(txt_char.Text!string.Empty){if(Encoding.GetEncoding(unicode).GetBytes(newchar[] { txt_char.Text[0] })[1]0){txt_ASCII.Text Encoding.GetEncoding(unicode).GetBytes(txt_char.Text)[0].ToString();}else{txt_ASCII.Text string.Empty;MessageBox.Show(请输入字母,提示);}}}privatevoidbtn_ToChar_Click(objectsender, EventArgs e){if(txt_ASCII2.Text!string.Empty){intP_int_Num;//定义整型局部变量if(int.TryParse(txt_ASCII2.Text,outP_int_Num)){txt_Char2.Text ((char)P_int_Num).ToString();}else{MessageBox.Show(请输入正确ASCII码值,错误);}}}复制讲解到此这篇关于C#实现ASCII和字符串相互转换的代码示例的文章就介绍到这了