.net - 当需要 Long 类型的参数时,为什么我可以传递 Integer?
问题描述
我有一个围绕本机代码 dll 的适配器类。那个是用 x64 构建的——整数是 8 个字节。我使用以下签名:
Private Declare Sub RoutineName64 Lib "MyDll" Alias "_RoutineAlias" (param1 As Long, ... )
令我惊讶的是,我仍然可以将 Integer 作为 param1 传递,没有任何问题,无论是编译时间还是运行时。我不知道如何解释?
我认为这样做Dim variableLong = Convert.ToInt64(variable)
然后调用RoutineName64
该变量param1
是强制性的吗?
解决方案
请参阅扩大和缩小转换。
推荐阅读
- python - 我找不到从 Python 中的单引号 JSON 中提取数据的方法
- python - 使用熊猫比较excel中的两列
- javascript - 使用纯 javascript 是否可以将未显示在窗口上的元素复制到剪贴板?
- amazon-web-services - 为什么我的仪表板中的 https://www.awseducate.com/ 缺少“AWS 账户”选项卡?
- r - R中的Cox PH时间相关协变量格式
- python-3.x - Lambda 函数中的 Boto3 - RequestsDependencyWarning
- amazon-web-services - 如何通过 CDK 向 DynamoDb 添加第三个可索引属性?
- javascript - 将单元格与数据库匹配并将不存在的单元格值添加到数据库的 Google 表格函数
- angular - 触发 mat-selct selectionChange。, 通过 patchValue 更新表单时
- arm - KeyVault 模板 - 多个访问策略