首页 > 其他分享 >托管类型

托管类型

时间:2023-08-17 11:35:47浏览次数:40  
标签:Primitive 托管 Blittable 类型 Unmanaged Type

Primitive Type

基元类型有 14 个。

1 2 4 8
整数 SByte(sbyte)
Byte(byte)
Int16(short)
UInt16(ushort)
Int32(int)
UInt32(uint)
Int64(long), UInt64(ulong)
IntPtr(nint), UIntPtr(nuint)
浮点 Float(float) Double(double)
布尔 Double(double)
字符 Char(char)

String(string)和Decimal(decimal)并不是基元类型。

Unmanaged Type

非托管类型,不涉及托管对象引用的值类型。

  • Primitive Type + Decimal(decimal)
  • enum
  • 指针类型(int*, long* 等)
  • struct(只包含 Unmanaged Type 的字段)

Blittable Type

基于P/Invoke操作,Blittable类型要求在托管内存和非托管内存具有完全一致的标识,在值传递过程中无需转换。

  • Primitive Type(bool, char除外,因各平台表示不同)
  • Blittable类型的一维数组
  • struct & class (采用SequentialExplicitly布局且只包含Blittable类型)

DateTime、DateTimeOffset、Guid不是Blittable类型。
DateTime/DateTimeOffset采用Auto布局。
Guid映射在内存中的字节依赖于字节序(Endianness)

.NET的基元类型包括哪些?Unmanaged和Blittable类型又是什么?

标签:Primitive,托管,Blittable,类型,Unmanaged,Type
From: https://www.cnblogs.com/wesson2019-blog/p/17637170.html

相关文章

  • Oracle DB :用户自定义数据类型
    用户自定义类型可以使用Oracle内嵌的数据类型和其他用户自定义类型作为对象类型的构建块,对象模型构成了在应用中数据的结构和行为。下面将描述用户自定义类型的种类。提示:可以参考createType和createtypebody获取更多的创建用户定义数据类型的信息;==对象类型==对象类型是真......
  • Python3 数据类型转换
    有时候,我们需要对数据内置的类型进行转换,数据类型的转换,一般情况下你只需要将数据类型作为函数名即可。Python数据类型转换可以分为两种:隐式类型转换-自动完成显式类型转换-需要使用类型函数来转换1. 隐式类型转换在隐式类型转换中,Python会自动将一种数据类型转......
  • 【校招VIP】测试类型之兼容性测试分析
    考点介绍:兼容性是测试工作里面比较复杂的一种情况,也是校招里面考察的一个重点,需要从屏幕功能,数据,操作系统等多个维度进行分析 一、考点题目1.以测试的形态分测试可以分为()A.建构性测试B.系统测试C.专项测试D.单元测试解答:正确答案是A,B,C单元测试属于软件开发阶段的分类......
  • 参数类型泛型传入和泛型传出
    public<U,S>R<U>query(Sreq,Stringname,Class<U>type){R<String>resp=httpPost(name,JSONObject.toJSONString(req));if(!resp.isSuccess()){R.fail("网络问题");}Uresult......
  • typeScript学习-TS类型-其他特殊类型-可变元组
    typeScript学习可变元组:letpeople:[string,number,string,string,string]=["wangwu",23,"地址",'13312341234','备注']//当前三个数据固定格式,后面数据不确认格式时用可变元组//可变元组//letcustomers:[string,number,string,...any[]]=[&qu......
  • 以太坊常见合约类型及其用途
    简介:以太坊是一个开放的区块链平台,允许开发者创建各种智能合约。智能合约是一种能够自动执行合约条款的计算机程序。以下是以太坊中常见的合约类型及其用途的概述。ERC-20合约:简介:ERC-20是以太坊上最常见的代币标准合约。用途:用于创建可互换的代币,如加密货币、代币发行、I......
  • mybatis 参数赋值及类型解析
    基本类型处理器configuration对象初始化的时候会创建TypeHandlerRegistry,构造方法里指定了默认类型处理。基本类型常见的数据库类型都又对应的解析器。TypeHandlerRegistry类typeHandlerMap属性存储了javaType和类型TypeHandler之间的映射关系。这里的mapkey值就是javaType对应......
  • mybatis动态查询Integer类型入参为0不生效的问题
    解决//Integer类型入参,动态sql判断只需要判null即可<iftest="status!=null">andstatus=#{status}</if>原因mybatis源码在预编译sql时,使用OGNL表达式来解析if标签,对于Integer类型属性,(status!='')会当作(status!=0)来判断 ......
  • typeScript学习-TS类型-其他特殊类型-元组(tuple)
    typeScript学习元组(tuple):满足以下3点的数组就是元组(1)在定义时每个元素的类型都是确定(2)元素值的数据类型必须是当前元素定义的类型(3)元素值的个数必须和定义时个数相同 letsalary:[string,number,number,number,number]=["zhangsan",5000,5000,5000,5000] ......
  • 磁盘类型
    磁盘(disk)是指利用磁记录技术存储数据的存储器。磁盘分为:软磁盘和硬磁盘 软磁盘 硬磁盘磁盘类型是指设备存储数据时使用的介质类型SSD——固态硬盘以半导体状态做记忆介质,相对机械硬盘,读取速度更快HDD——机械硬盘以磁做记忆介质U盘——USB闪存驱动器,Flash芯片存储数据,......