以编程方式获取所有内置类型的列表

use*_*327 4 .net c# types built-in

我从内置类型表(C# 参考)中获取了所有内置类型。有没有办法以编程方式获取此列表?我不知道如何使用反射,所以我不知道如何开始。我还没有代码。

Rez*_*aei 8

使用反射获取这些类型不是一个好主意。 仅出于学习目的,您可以使用以下片段。

获取框架基元类型全名:

var frameworkTypesFullName = typeof(Type).Assembly.GetTypes()
    .Where(x => x.IsPrimitive).Select(x => x.FullName).ToList();
Run Code Online (Sandbox Code Playgroud)

获取基本类型的 C# 别名:

var cs = new CSharpCodeProvider(); //dispose later or put in using statement
var csharpTypesAlias = typeof(Type).Assembly.GetTypes()
    .Where(x => x.IsPrimitive).Select(x =>
        cs.GetTypeOutput(new CodeTypeReference(x))).ToList();
Run Code Online (Sandbox Code Playgroud)

还有 和System.StringSystem.Object它们不是原始类型,但通常命名为简单类型,在 C# 中带有stringobject别名。