当前位置: 首页 > news >正文

VB.Net 常用函数

一、概述

Visual Basic .NET(VB.Net)是一种面向对象的编程语言,广泛应用于Windows桌面程序、Web应用程序及数据库开发。掌握其内置函数是提高开发效率的关键。本文将系统介绍VB.Net中常用的函数,包括类型转换、字符串处理、日期时间操作、数学计算等,并提供丰富的代码示例和注释,帮助开发者快速上手。


二、常用函数分类详解

1. 类型转换函数

VB.Net 提供了一系列以 C 开头的类型转换函数,用于将表达式转换为指定类型。

Dim num As String = "123"
Dim intNum As Integer = CInt(num)  ' 将字符串转换为整型
Dim dblNum As Double = CDbl(num)   ' 将字符串转换为双精度浮点型
Dim str As String = CStr(123)      ' 将数字转换为字符串

2. 数学函数

常用的数学函数包括 AbsSinCosSqrt 等,用于数值计算。

Dim a As Integer = -10
Dim absValue = Math.Abs(a)  ' 取绝对值,结果为10Dim angle As Double = Math.PI / 4
Dim sinValue = Math.Sin(angle)  ' 计算正弦值Dim number As Double = 16
Dim sqrtValue = Math.Sqrt(number)  ' 计算平方根,结果为4

3. 字符串处理函数

VB.Net 提供了丰富的字符串处理函数,如 LenLeftRightMidReplace 等。

Dim s As String = "Hello, World!"
Dim length As Integer = Len(s)  ' 获取字符串长度Dim leftPart As String = Left(s, 5)  ' 取左边5个字符:"Hello"
Dim rightPart As String = Right(s, 6)  ' 取右边6个字符:"World!"Dim midPart As String = Mid(s, 8, 5)  ' 从第8个字符开始取5个字符:"World"Dim newStr As String = Replace(s, "World", "VB.Net")  ' 替换字符串

4. 日期时间函数

常用的日期时间函数包括 NowTodayDateAddDateDiff 等。

Dim currentTime As DateTime = Now()  ' 获取当前日期和时间
Dim todayDate As DateTime = Today()  ' 获取当前日期(时间部分为00:00:00)Dim nextWeek As DateTime = DateAdd(DateInterval.Day, 7, currentTime)  ' 加7天Dim daysDiff As Long = DateDiff(DateInterval.Day, todayDate, nextWeek)  ' 计算天数差

5. 文件操作函数

VB.Net 支持基本的文件操作,如 FileLenFileDateTimeGetAttr 等。

Dim filePath As String = "C:\test.txt"
Dim fileSize As Long = FileLen(filePath)  ' 获取文件大小(字节)
Dim createTime As DateTime = FileDateTime(filePath)  ' 获取文件创建时间
Dim attr As FileAttribute = GetAttr(filePath)  ' 获取文件属性

6. 数组与集合函数

常用的数组函数包括 FilterJoinSplitUBound 等。

Dim arr() As String = {"Apple", "Banana", "Cherry"}
Dim filtered() As String = Filter(arr, "a", True, CompareMethod.Text)  ' 筛选包含"a"的元素Dim combined As String = Join(arr, ", ")  ' 合并为字符串:"Apple, Banana, Cherry"Dim sArr() As String = Split("A,B,C", ",")  ' 分割字符串为数组
Dim upperBound As Integer = UBound(sArr)  ' 获取数组最大索引

三、高级函数示例

1. 使用 CallByName 动态调用方法

Public Class CalculatorPublic Function Add(ByVal a As Integer, ByVal b As Integer) As IntegerReturn a + bEnd Function
End ClassDim calc As New Calculator()
Dim result As Integer = CallByName(calc, "Add", CallType.Method, 3, 5)  ' 动态调用Add方法

2. 使用 IIf 进行条件判断

Dim score As Integer = 85
Dim result As String = IIf(score >= 60, "及格", "不及格")  ' 条件判断

四、Mermaid 函数关系图

以下是一个常用函数分类的 UML 类图(简化表示):

VBNetFunctions
+Abs(number)
+Asc(String)
+CInt(expression)
+CStr(expression)
+Len(String)
+Now()
+Replace(expression, find, replace)
+DateDiff(interval, date1, date2)
+FileLen(pathname)
«Category»
MathFunctions
+Sin(number)
+Cos(number)
+Sqrt(number)
«Category»
StringFunctions
+Left(string, length)
+Right(string, length)
+Mid(string, start, length)
«Category»
DateTimeFunctions
+DateAdd(interval, number, date)
+DateDiff(interval, date1, date2)

五、生词表(便于学习)

单词/短语音标词性词根/词缀释义搭配例子
Abs/æbs/n.缩写自 absolute绝对值Abs functionAbs(-5)=5
Asc/æsk/n.ASCIIASCII码Asc functionAsc("A")=65
CInt/siː ɪnt/v.Convert to Integer转换为整型CInt(expression)CInt("123")
Len/len/n.Length长度Len(string)Len("Hello")=5
Replace/rɪˈpleɪs/v.Re- + place替换Replace(expr, find, rep)Replace("A","B","C")
DateDiff/deɪt dɪf/n.Date + Difference日期差DateDiff(interval, d1, d2)DateDiff("d", #1/1#, #1/2#)=1
FileLen/faɪl len/n.File + Length文件长度FileLen(path)FileLen("test.txt")
UBound/juː baʊnd/n.Upper Bound上界UBound(array)UBound(arr)
IIf/aɪ aɪ ef/n.Immediate If立即判断IIf(expr, true, false)IIf(True, "Yes", "No")

http://www.dtcms.com/a/585103.html

相关文章:

  • 成都哪家做网站wordpress 主题课堂
  • 智慧随访管理系统源码,基于Java+Spring Boot+Vue的随访系统源码,支持二次开发,支持患者信息管理、多类型随访、三级回访机制、问卷模板
  • MQL5 自学路线图:从入门到实战
  • 告别 mysqldump 痛点!用 mydumper 实现 MySQL 高效备份与恢复
  • 【Java 并发编程】线程创建 6 种方式:Thread/Runnable/Callable 核心类全解析
  • Lombok.jar bug
  • 隐藏在字符编码中的陷阱:深入剖析宽字节注入
  • STM32外设学习--TIM定时器--编码器接口(程序)
  • iis 网站关闭陕西省住房和城乡建设厅
  • 【C++】多态与虚函数
  • 洛谷 P9847 [ICPC 2021 Nanjing R] Crystalfly
  • X光机AI系统实现轮胎缺陷识别准确率超97%
  • Depth Anything with Any Prior解读
  • Vue2 学习记录--语法部分
  • bluetoothctl命令
  • 泰安做网站多少钱什么网站做ppt
  • 备案 网站负责人 法人今天重大新闻头条新闻军事
  • Android16 EDLA HDMI OUT投屏默认通过设置
  • flink1.20.2环境部署和实验-2
  • TCP滑动窗口:网络世界的“智能流量阀门”
  • TCP全连接队列与tcpdump抓包
  • 感知机:乳腺癌分类实现 K 均值聚类:从零实现
  • 【Linux】Linux 地址空间 + 页表映射的概念解析
  • 【Linux篇】System V IPC详解:共享内存、消息队列与信号量
  • GLM4.6多工具协同开发实践:AI构建智能任务管理系统的完整指南
  • LangChain v1.0 快速入门
  • 云南网站建设找天软东莞网站建设什么价格便宜
  • AI Agent设计模式 Day 4:ReWOO模式:推理而不观察的高效模式
  • 38.华为云存储类服务核心配置
  • 使用 SQLAlchemy 操作单表:以 SQLite 用户表为例的完整实战指南