字母转换为ASCII码程序的菜鸟问题
using System;using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace 开发入门及项目实践第4章1_ASCII
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text!=string.Empty)
{
if (Encoding.GetEncoding("unicode").GetBytes(new char[] { textBox1.Text[0] })[1] == 0)//为什么这里要等于0?[1]是什么意思?是指textBox1.Text[0]的第二个数组名?,如果删去==0它就说无法将类型byte隐式转换为bool?//书上说此代码为判断输入是否为字母?为什么我将[1]改为[0]系统就说"请重新输入字母!"?
{
textBox2.Text = Encoding.GetEncoding("unicode").GetBytes(textBox1.Text)[0].ToString();//此代码就是将(textBox1.Text)[0]的值以字符串的形式转换于unicode,unicode为ASCII的意思吗???为什么[0]要放在括号外面啊????
}
else
{
textBox2.Text = string.Empty;
MessageBox.Show("请重新输入字母!");
}
}
}
private void button2_Click(object sender, EventArgs e)
{
if (textBox3.Text!=string.Empty)
{
int i;
if (int.TryParse(textBox3.Text,out i))
{
textBox4.Text = ((char)i).ToString();//将ASCII码转换为字符??? string j="a" ;
// 下面这个代码 string k = Encoding.GetEncoding("unicode").GetBytes(new char[] { j[0] })[0].ToString();不是将ASCII码转换为字符???
}
else
{
MessageBox.Show("请正确输入ASCII码值");
}
}
string j="a" ;
string k = Encoding.GetEncoding("unicode").GetBytes(new char[] { j[0] })[1].ToString();//为什么这里要等于0?[0]是什么意思?是指textBox1.Text[0]的第一个数组名?
//string k 与上面的if语句又有什么关系呢???为什么将后一个[0]改成[1]就还能运行呢???new char[] { k[0] }究竟是什么意思啊??