我是C#新手,我正在努力了解更多关于数据类型和转换的知识。我有以下控制台程序:
using System;
namespace First_lesson
{
class Program
{
static void Main(string[] args)
{
char singleLetter = 'B';
short num = 291;
Console.WriteLine("{0} {1}", num, singleLetter);
singleLetter = Convert.ToChar(num);
Console.WriteLine(singleLetter);
Console.WriteLine("{0} {1}", sizeof(short), sizeof(char));
}
}
}我不明白为什么当我将num转换为char时,我会得到一个小写的g,而不是#的标签符号。

转换不是基于ASCII值吗?
发布于 2017-12-14 06:12:02
char关键字用于声明System.Char结构的实例,.NET框架用于表示.NET字符。Char对象的值是16位数字(序数)值.
实际上,一个字符表示一个Unicode字符。小数中的35是#符号的表示
public static void Main()
{
char singleLetter = 'B';
short num = 35;
Console.WriteLine("{0} {1}", num, singleLetter);
singleLetter = Convert.ToChar(num);
Console.WriteLine(singleLetter);
Console.WriteLine("{0} {1}", sizeof(short), sizeof(char));
Console.ReadLine();
}试试这个:
short singleLetter = Convert.ToInt16('B');
Console.WriteLine(singleLetter);B是66十进制值,可以将这页面用作Unicode表的引用。
https://stackoverflow.com/questions/47806821
复制相似问题