C#数据类型与.net framework数据类型 ?求解!

刚学习C#,遇到这个问题:
看到这句描述 “C#认可的基础数据类型并没有内置于C#语言中,而是内置于.net Framework中。”
为什么“C#认可的基础数据类型并没有内置于C#语言中”?是不是说C#没有自己的基本数据类型呢?
C语言就有内置基本数据类型,可是C++和C#和C语言不是兼容的吗?怎么连基本数据类型都不一样呢?
“C#没有内置基本数据类型”这样的设计是为什么呢?
例如: int a;
和 Int32 a; 有什么区别啊?

.net framework是个平台

Microsoft .NET Framework是用于Windows的新托管代码编程模型。.NET Framework 包括了三大部分:第一个部分是Common Language Runtime(CLR,所有.NET 程序语言公用的执行时期组件),第二部分是共享对象类别库(提供所有.NET 程序语言所需要的基本对象),第三个部分是重新以组件的方式写成的(旧版本则是以asp.dll提供ASP 网页所需要的对象)。
所以C#认可的基础数据类型时内置于Microsoft .NET Framework中的。

C#数据类型与.net framework数据类型:http://www.jb51.net/article/21975.htm

c# int Int32 Int64 的区别:http://www.cnblogs.com/cuihongyu3503319/archive/2011/08/11/2135213.html

.net framework只是一个平台

.netframework只是一个平台

c# int Int32 Int64 的区别:http://blog.csdn.net/yueguangzhiyuan/article/details/17302851

关于C#与.NET Framework : https://www.cnblogs.com/Helius/p/5268512.html

int是c#语言中的关键字,Int32是.net Framework中的一个类,但是int是映射到Int32的,也就是说你写int,编译器会自动识别为Int32,.net Framework提供的类库里还有一些相关的方法。int a表示你声明了一个int类型的变量,实际编译器也会把它编译成Int32。