//获取数字类型所占字节 public static int SizeBytesOfType(IConvertible number) { TypeCode typeCode = number.GetTypeCode(); int bytesCount = 0; switch (typeCode) { case TypeCode.Boolean: bytesCount = 1; break; case TypeCode.Byte: bytesCount = 1; break; case TypeCode.Char: bytesCount = 1; break; case TypeCode.DBNull: break; case TypeCode.DateTime: break; case TypeCode.Decimal: bytesCount = 12; break; case TypeCode.Double: bytesCount = 8; break; case TypeCode.Empty: break; case TypeCode.Int16: bytesCount = 2; break; case TypeCode.Int32: bytesCount = 4; break; case TypeCode.Int64: bytesCount = 8; break; case TypeCode.Object: break; case TypeCode.SByte: bytesCount = 1; break; case TypeCode.Single: bytesCount = 4; break; case TypeCode.String: break; case TypeCode.UInt16: bytesCount = 2; break; case TypeCode.UInt32: bytesCount = 4; break; case TypeCode.UInt64: bytesCount = 8; break; default: break; } return bytesCount; }