4

可能重复:
如何在 C# 中获取类型的原始名称?

我在 C# 中有以下代码:

        Assembly sysAssembly = 0.GetType().Assembly;
        Type[] sysTypes = sysAssembly.GetTypes();
        foreach (Type sysType in sysTypes)
        {
            if (sysType.IsPrimitive && sysType.IsPublic)
                Console.WriteLine(sysType.Name);
        }

此代码输出:

布尔,字节,字符,双精度,Int16,Int32,Int64,IntPtr,SByte,单,UInt16,UInt32,UInt64,UIntPtr,

我想尽可能替换Booleanby boolBytebybyte等,而不依赖于固定数组或字典。有没有办法做到这一点?

4

1 回答 1

6

这是重复的

C# - 通过反射获取简单类型的用户友好名称?

这也是 Skeet 的一个很好的答案

如何在 C# 中获取类型的原始名称?

答案是,你可以,而且不用字典。

Type t = typeof(bool);

string typeName;
using (var provider = new CSharpCodeProvider())
{
  var typeRef = new CodeTypeReference(t);
  typeName = provider.GetTypeOutput(typeRef);
}

Console.WriteLine(typeName);    // bool
于 2012-04-26T17:24:57.333 回答