C#原始数据类型是该语言的一部分吗?

在C中,编译器知道原始数据类型,例如int,但在C#中,这些基本上是结构(例如System.Int32).但我可以假设C#知道这些类型.我认为它确实如此,因为C#中的int文字基本上是System.Int32的一个实例.例如,这将工作:
Console.WriteLine((12345).GetType());

输出:

System.Int32

解决方法

C#编译器知道原始数据类型.每当编译器遇到加法运算符a b时,它就会调用一个合适的静态方法运算符.

但是,如果操作数具有基本类型,则它会生成用于直接计算的IL代码.

但通常编译器和CLR都试图假装原始类型与其他类型相同.

另外,如前所述,编译器对某些基本类型使用别名,char,bool等.

相关文章

文章浏览阅读6.2k次,点赞2次,收藏3次。C#数学运算表达式解...
文章浏览阅读5.2k次,点赞6次,收藏7次。程序要做到用户配置...
文章浏览阅读9k次。错误信息检测到 ContextSwitchDeadlock M...
文章浏览阅读2w次,点赞10次,收藏9次。我发生错误时的环境:...
文章浏览阅读9.8k次。C# 二进制字节流查找函数IndexOf ...
文章浏览阅读2.5w次,点赞3次,收藏9次。c#DataGridView数据...