ctype--数据类型转换函数——vb.net

CType 函数

语法

CType(expression, typename)
组成部分
expression 任何有效表达式。 如果 expression 的值超出 typename 所允许的范围,Visual Basic 将引发异常。

typenameDim 语句的 As 子句中的任何合法表达式,即任何数据类型、对象、结构、类或接口的名称。

还可以使用以下函数来执行类型转换:

类型转换函数,例如 CByte、CDbl 和 CInt,它们执行对特定数据类型的转换。 有关详细信息,请参阅 Type Conversion Functions(类型转换函数)。
DirectCast 运算符或 TryCast 运算符。 这些运算符要求一种类型从另一种类型继承或实现另一种类型。 在与 Object 数据类型来回转换时,它们可以提供比 CType 更好的性能。
CType 是内联编译的,这意味着转换代码是计算表达式的代码的一部分。 在某些情况下,代码运行速度更快,因为没有调用任何过程来执行转换。

如果没有定义从 expression 到 typename 的转换(例如,从 Integer 转换到 Date),Visual Basic 将显示一条编译时错误消息。

如果转换在运行时失败,则会引发相应的异常。 如果收缩转换失败,最常见的结果是 OverflowException。 如果未定义转换,则会引发 InvalidCastException。 例如,如果 expression 的类型为 Object,并且其运行时类型没有转换为 typename,就会发生这种情况。

如果 expression 或 typename 的数据类型是你定义的类或结构,你可以在该类或结构上定义 CType 作为转换运算符。 这将使 CType 充当重载运算符。 如果执行此操作,可以控制与类或结构来回转换的行为,包括可能引发的异常。

转换关键字
下面是类型转换关键字的对比。


展开表
关键字    数据类型                     参数关系                                                            运行时失败
CType    任何数据类型    必须在这两种数据类型之间定义扩大转换或收缩转换    引发 InvalidCastException
DirectCast 运算符    任何数据类型    一种类型必须从另一种类型继承或实现另一种类型    引发 InvalidCastException
TryCast    仅限引用类型    一种类型必须从另一种类型继承或实现另一种类型    返回 Nothing
重载
CType 运算符也可以在代码外部定义的类或结构上重载。 如果你的代码与这种类或结构来回转换,请务必了解其 CType 运算符的行为。 有关详细信息,请参阅 Operator Procedures。

转换动态对象
动态对象的类型转换由使用 TryConvert 或 BindConvert 方法的用户定义的动态转换执行。 如果你处理的是动态对象,请使用 CTypeDynamic 方法转换动态对象。

示例
下面的示例使用 CType 函数将表达式转换为 Single 数据类型。


Dim testNumber As Long = 1000
' The following line of code sets testNewType to 1000.0.
Dim testNewType As Single = CType(testNumber, Single)

在vsto输入以下代码:

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Static i As Integer
        i = i + 1
        MsgBox(CType(i, String))
    End Sub
End Class

运行结果如下:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/610452.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【系统架构师】-选择题(十三)数据库基础

1、在某企业的营销管理系统设计阶段,属性"员工"在考勤管理子系统中被称为"员工",而在档案管理子系统中被称为"职工",这类冲突称为( 命名冲突)。 同一个实体在同系统中存在不同的命名&am…

2024年财富自由秘籍,创业项目大揭秘!

2024年,一个崭新的创业项目如日中天般迅速崛起,吸引了无数创业者的目光——那就是APP广告变现。这不仅是一条轻松实现财富自由的道路,更是一个充满无限可能的黄金领域。 在移动互联网高速发展的今天,智能手机已成为我们生活中不可…

UE4\UE5 调试源代码流程(重点讲不去Github装源代码情况)

UE4\UE5 调试源代码流程 前言: 很多写UE C代码的小伙伴,肯定发现了,在虚幻源代码里面是没办法打断点进行调试的,就算走Debug调试流程,也依旧不能正常打断点调试,今天我们来分享一下不装Github源代码情况下…

各种数据获取stream流的方式

1.单列集合&#xff08;直接调用&#xff09; ArrayList<Integer> list new ArrayList<>();list.stream(); 2.双列集合 HashMap<String, Integer> map new HashMap<>();map.put("aaa",111);map.put("bbb",222);map.put("c…

Vue中引入Element组件、路由router、Nginx打包部署

目录 1、Element-ui(饿了么ui) 演示&#xff1a; 怎么打开NPM脚本&#xff1f; Vue路由router Nginx打包部署Vue-Cli项目 1、Element-ui(饿了么ui) element-ui(饿了么ui)是一个非常好用且美观的组件库(插件库)&#xff0c;主要用于网站快速成型&#xff0c;由国产团队饿了么…

RH850F1KM Part1 创建一个新工程

1、选择File->New ECU Project.# 2、填写工程名和工程文件路径&#xff0c;点击Next 3、点击Next 4、点击Finish 5、报错&#xff1a;# 6、步骤5报错原因&#xff1a; RH850F1KM 搭建MCAL配置环境中复制到BSWMD文件夹下的文件过多&#xff0c;除包含当前芯片型号外&#…

618值得入手的平价好物清单,看完再买不吃亏!

即将到来的618年中购物狂欢节&#xff0c;无疑是一年一度的购物盛宴。为了让大家的购物体验更加愉悦和充实&#xff0c;我特地为大家精选了一系列好物。如果你也打算在618尽情购物&#xff0c;那就赶紧收藏这份清单吧&#xff01; 一、舒适佩戴不伤耳——南卡骨传导耳机Runner…

EDA(四)Verilog

EDA&#xff08;四&#xff09;Verilog Verilog是一种用于电子系统设计自动化&#xff08;EDA&#xff09;的硬件描述语言&#xff08;HDL&#xff09;&#xff0c;主要用于设计和模拟电子系统&#xff0c;特别是在集成电路&#xff08;IC&#xff09;和印刷电路板&#xff08;…

关于服务端接口知识的汇总

大家好&#xff0c;今天给大家分享一下之前整理的关于接口知识的汇总&#xff0c;对于测试人员来说&#xff0c;深入了解接口知识能带来诸多显著的好处。 一、为什么要了解接口知识&#xff1f; 接口是系统不同模块之间交互的关键通道。只有充分掌握接口知识&#xff0c;才能…

面试算法之哈希专题

赎金信 class Solution { public:bool canConstruct(string ransomNote, string magazine) {// 小写字母int r_cnt[26];int m_cnt[26];for(int i 0; i< magazine.size(); i) {m_cnt[magazine[i]-a]; // 统计}// 对比for(int i 0; i< ransomNote.size(); i) {if(m_cnt[r…

用幽兰本体验大语言模型

大语言模型&#xff08;LLM&#xff09;是目前炙手可热的话题&#xff0c;每个人都想体验一下大语言模型的魅力。然而如果使用云端的大语言模型服务&#xff0c;则不仅速度慢&#xff0c;而且可能泄露自己的隐私。幽兰代码本使用瑞芯微公司推出的 RK3588 SoC 芯片作为核心硬件&…

财务管理|基于SprinBoot+vue的财务管理系统(源码+数据库+文档)

财务管理系统 目录 基于SprinBootvue的财务管理系统 一、前言 二、系统设计 三、系统功能设计 系统功能实现 1管理员功能模块 2员工功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1…

2024年必看:13大顶尖Scrum工具助力敏捷项目管理

Scrum 管理工具有&#xff1a;PingCode、Jira、Trello、Zoho Sprints、Active Collab、ProProfs Project、Scrumwise、ClickUp、Monday.com、QuickScrum、Yodiz、ScrumDo、nTask 在过去几年中&#xff0c;Scrum方法论已成为敏捷项目管理的主要框架之一。使用Scrum&#xff0c;项…

存储和NFS共享

存储类型 存储类型分为三种 直连式存储&#xff1a;Direct-Attached Storage&#xff0c;简称DAS网络附加存储&#xff1a;Network-Attached Storage&#xff0c;简称NAS存储区域网络&#xff1a;Storage Area Network&#xff0c;简称SAN DAS:存储和主机是直连的&#xff0…

为什么 Cloudflare 是 2024 年 Vercel 的最佳替代品?生态系统和价格比较

本文探讨了 Vercel 的功能&#xff0c;并与 Cloudflare 生态系统中的类似产品进行了比较。从托管到存储&#xff0c;我们将看到为什么 Cloudflare 可以在 2024 年成为 Vercel 的最佳替代品。 文章目录 介绍什么是 Cloudflare&#xff1f;Cloudflare vs Vercel&#xff1a;托管和…

防雷防浪涌电路设计

通信线路或者电源线路通常会铺设到户外&#xff0c;一旦线路铺到户外后&#xff0c;就需要考虑防雷的问题了&#xff0c;那么怎么设计保护电路&#xff0c;能够防止雷电等浪涌对电路的破坏呢&#xff1f; 通信线路或者电源线路通常会铺设到户外&#xff0c;一旦线路铺到户外后&…

每日Attention学习3——Cross-level Feature Fusion

模块出处 [link] [code] [PR 23] Cross-level Feature Aggregation Network for Polyp Segmentation 模块名称 Cross-level Feature Fusion (CFF) 模块作用 双级特征融合 模块结构 模块代码 import torch import torch.nn as nnclass BasicConv2d(nn.Module):def __init__(…

Google搜索广告怎么开户?谷歌广告开户投放引流技巧、账户搭建、谷歌ads广告推广投放策略 #搜索引擎 #谷歌广告#互联网营销

Google搜索广告开户步骤&#xff1a; 选择代理商&#xff1a;首先&#xff0c;您需要选择一个经验丰富、信誉良好的Google广告代理商。可以选择上海上弦来广告开户和代运营。 初步咨询&#xff1a;与代理商进行初步沟通&#xff0c;了解他们的服务内容、成功案例、收费标准等。…

Topaz Photo AI for Mac:专业级照片处理软件

Topaz Photo AI for Mac是一款专为Mac用户设计的专业级照片处理软件。它集成了先进的人工智能技术&#xff0c;为用户提供了强大的照片处理功能。无论是照片修复、增强还是转换&#xff0c;Topaz Photo AI都能轻松应对。 这款软件具备强大的AI技术&#xff0c;能够自动识别和修…

苹果新款 M4 芯片专注于 AI

爆炸性消息&#xff01;苹果的新一代 M4 芯片来了&#xff01;这家伙拥有 38 万亿次操作的超强神经引擎&#xff0c;速度比苹果 A11 芯片的 NPU 快 60 倍&#xff01;虽然它的速度还没有达到 Snapdragon X Elite 的 45 TOPS&#xff0c;但苹果自夸 M4 将提供与最新 PC 芯片相同…