为什么输入的值和输出地不一样啊 int bt; bt = Console.Read(); Console.WriteLine(bt); 我输入 45 输出地是52 真的比较奇怪,我是菜鸟,请教高手 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 强转下,bt= Convert.ToInt32(Console.Read());再试下. ASC|| 码的问题么,我看着像,试试都强转为nvarchar呢 Console.Read(); 你输入45Read()是按字符读取,也就是读取了第一个字符4,而返回的则是ASCII码4的ASCII是52 因为你接收了Console.Read()的返回值,这个返回值并不是你直接输入的 Console.WriteLine(Console.ReadLine()); Console.ReadLine(); 楼主试一下下面的两种写法的差异:Console.Write(Console.ReadLine());Console.Write(Console.Read());你会发现前一种写法,你输入什么,输出就是什么而后一种写法就会像你说的一样。主要的差异在于两种的函数原型不一样:public static int Read ();输入流中的下一个字符;如果当前没有更多的字符可供读取,则为负一 (-1)。public:static String^ ReadLine ()输入流中的下一行字符;如果没有更多的可用行,则为 空引用(在 Visual Basic 中为 Nothing)。所以,Read读入的是将字符转化为整形的ASCII码ReadLine直接读入的输入字符 这里API和源码例子一个英文的,一个翻译的:http://apicodecn.gicp.net/class.do?api=selectByfatherIndex&father=15056http://apicode.gicp.net/class.do?api=selectByfatherIndex&father=15056 int bt; bt =Convert.ToInt16( Console.ReadLine()); Console.WriteLine(bt); Console.ReadLine(); 5楼正解用下面这个你看一下输出值就明白了。Console.WriteLine(char.ConvertFromUtf32(bt)); static void Main(string[] args) { int bt; bt = int.Parse(Console.ReadLine()); Console.WriteLine("{0:G}", bt); } 还有一种方式Convert.ToChar(bt); 请问一个关于C# RTP的问题??(解决给分) Treeview 中如何防止重复添加节点 关于DataGridView的checkbox是否选中的问题 C#中制作真正的ActiveX控件的方法 c#中如何调用API函数GdipSaveImageToStream ? C#.net中设计问题(新手问题) .net中用DAO操作DBF?急 请问Server.UrlEncode是属于哪个命名空间? 一个很简单的字符串问题 窗体间数据更新问题 关于C# 编写的activeX错误,紧急求救! 怎么能准确定位MenuStrip菜单中的MenuStripItem项在第几层菜单?
再试下.
你输入45
Read()是按字符读取,也就是读取了第一个字符4,而返回的则是ASCII码
4的ASCII是52
Console.ReadLine();
Console.Write(Console.ReadLine());Console.Write(Console.Read());你会发现前一种写法,你输入什么,输出就是什么
而后一种写法就会像你说的一样。主要的差异在于两种的函数原型不一样:
public static int Read ();
输入流中的下一个字符;如果当前没有更多的字符可供读取,则为负一 (-1)。
public:static String^ ReadLine ()
输入流中的下一行字符;如果没有更多的可用行,则为 空引用(在 Visual Basic 中为 Nothing)。所以,Read读入的是将字符转化为整形的ASCII码
ReadLine直接读入的输入字符
一个英文的,一个翻译的:
http://apicodecn.gicp.net/class.do?api=selectByfatherIndex&father=15056
http://apicode.gicp.net/class.do?api=selectByfatherIndex&father=15056
int bt;
bt =Convert.ToInt16( Console.ReadLine());
Console.WriteLine(bt);
Console.ReadLine();
用下面这个你看一下输出值就明白了。
Console.WriteLine(char.ConvertFromUtf32(bt));
{
int bt;
bt = int.Parse(Console.ReadLine());
Console.WriteLine("{0:G}", bt);
}
Convert.ToChar(bt);