C# 如何获取字节数组的类型码?
我需要告诉未知变量的类型。Type.GetTypeCode对于我来说似乎已经足够好了,但是在byte[]的情况下,它并没有提供所需的结果 以下是我的问题的简化代码:C# 如何获取字节数组的类型码?,c#,C#,我需要告诉未知变量的类型。Type.GetTypeCode对于我来说似乎已经足够好了,但是在byte[]的情况下,它并没有提供所需的结果 以下是我的问题的简化代码: var bytes = new byte[10]; var typeCode = Type.GetTypeCode(bytes.GetType()); // Actual result: typeCode equals Object // Desired result (pseudocode): "array of TypeCod
var bytes = new byte[10];
var typeCode = Type.GetTypeCode(bytes.GetType());
// Actual result: typeCode equals Object
// Desired result (pseudocode): "array of TypeCode.Byte"
TypeCode是一个枚举,若并没有表示字节数组的枚举成员,则将得到TypeCode.Object:
反对
一种通用类型,表示任何引用或值类型,而不是由另一个类型代码显式表示
您可能正在寻找,因为它返回:
当前数组包含或引用的对象的类型[…]
使用返回的类型,您可以依次调用Type.GetTypeCode:
在这里,elementTypeCode将是TypeCode.Byte。TypeCode是一个枚举,如果没有表示字节数组的枚举成员,您将得到TypeCode.Object,:
反对
一种通用类型,表示任何引用或值类型,而不是由另一个类型代码显式表示
您可能正在寻找,因为它返回:
当前数组包含或引用的对象的类型[…]
使用返回的类型,您可以依次调用Type.GetTypeCode:
这里,elementTypeCode将是TypeCode.Byte
如果使用的是GetType名称,则可以返回字节[]。如果这是你想要的
如果使用的是GetType名称,则可以返回字节[]。如果这是你想要的
var byteArray = new byte[0];
Type arrayType = byteArray.GetType();
Type elementType = arrayType.GetElementType();
TypeCode elementTypeCode = Type.GetTypeCode(elementType);
var typeCodeName = bytes.GetType().Name;//Byte[]
var typeCodeFName = bytes.GetType().FullName;//System.Byte[]