喜欢上了visual basic
感觉 vb 写起来挺舒服的
收集了一些vb的特点
1 日期 DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
2 可选参数和命名参数:VB.NET 支持在方法和函数中使用可选参数和命名参数。这使得方法调用更加灵活,可以省略一些参数或根据名称指定参数值。
Sub ExampleMethod(Optional value As Integer = 10)
' 方法体
End Sub
ExampleMethod()
ExampleMethod(value:=20)
3 字符串连接:在 VB.NET 中,可以使用 & 运算符来进行字符串连接,而不是在 C# 中使用 + 运算符。
Dim name As String = "John"
Dim message As String = "Hello, " & name & "!"
4 空值处理:VB.NET 使用 Nothing 关键字表示空引用或空值,而 C# 使用 null 关键字。VB.NET 提供了一些简化的语法来处理空值。
Dim value As String = Nothing
If value Is Nothing Then
' 处理空值
End If
5 集合初始化:在 VB.NET 中,可以使用集合初始化器来快速初始化集合对象。
Dim numbers As New List(Of Integer) From {1, 2, 3, 4, 5}
6 属性的默认实现:在 VB.NET 中,可以使用 AutoImplementedProperty 关键字来自动实现属性的默认 Getter 和 Setter。
Public Property Name As String
7 XML 文档注释:在 VB.NET 中,可以使用特殊的注释格式来编写 XML 文档注释。这些注释可以被 Visual Studio 自动识别和显示,方便开发人员快速了解代码的作用和使用方式。
'''
''' 这是一个示例方法,用于演示 XML 文档注释。
'''
''' 一个整数值。
''' 一个字符串。
Function ExampleMethod(value As Integer) As String
Return "Hello, " & value.ToString() & "!"
End Function
8 My 命名空间:VB.NET 提供了一个特殊的 My 命名空间,用于访问一些常用功能和对象,例如 My.Computer、My.Settings、My.Resources 等。这些对象和功能可以方便地访问和使用,而无需手动创建和管理。
' 访问 My.Computer 对象
My.Computer.FileSystem.WriteAllText("path\to\file.txt", "Hello, world!")
' 访问 My.Settings 对象
Dim value As Integer = My.Settings.MySetting
' 访问 My.Resources 对象
Dim message As String = My.Resources.HelloMessage
9 With 语句:在 VB.NET 中,可以使用 With 语句来简化对某个对象的多次属性或方法调用。这可以使代码更加简洁和易读。
With Me.TextBox1
.Text = "Hello, world!"
.ForeColor = Color.Red
.Font = New Font("Arial", 12)
End With
' 等价于以下代码
Me.TextBox1.Text = "Hello, world!"
Me.TextBox1.ForeColor = Color.Red
Me.TextBox1.Font = New Font("Arial", 12)
10 Lambda 表达式:VB.NET 支持 Lambda 表达式,可以方便地编写简洁的匿名方法或委托。
Lambda 表达式示例
Dim numbers As Integer() = {1, 2, 3, 4, 5}
Dim evenNumbers As Integer() = numbers.Where(Function(n) n Mod 2 = 0).ToArray()
11 多重继承:在 VB.NET 中,可以使用 Implements 关键字来实现多重继承。这使得一个类可以实现多个接口,从而提高代码的复用性和灵活性。
多重继承示例
Public Class MyClass
Implements IInterface1, IInterface2
' 实现 IInterface1 接口
Public Sub Method1() Implements IInterface1.Method1
' 方法体
End Sub
' 实现 IInterface2 接口
Public Sub Method2() Implements IInterface2.Method2
' 方法体
End Sub
End Class
12 可扩展性框架:VB.NET 提供了一个可扩展性框架,可以方便地实现插件式开发和模块化架构。开发人员可以通过定义接口和实现类来扩展应用程序的功能,而无需修改主要的代码逻辑。
' 定义接口
Public Interface IPlugin
Sub Execute()
End Interface
' 实现插件
Public Class MyPlugin
Implements IPlugin
Public Sub Execute() Implements IPlugin.Execute
' 方法体
End Sub
End Class
' 在应用程序中使用插件
Dim plugin As IPlugin = New MyPlugin()
plugin.Execute()
13 模式匹配:在 VB.NET 9.0 中,引入了模式匹配的功能,可以方便地判断某个对象或变量是否符合指定的模式。这可以使代码更加简洁和易读。
' 模式匹配示例
Dim value As Object = "Hello, world!"
If TypeOf value Is String Then
Console.WriteLine(value.ToUpper())
End If
14 LINQ:VB.NET 支持 LINQ(语言集成查询),可以方便地对集合和数据源进行查询和操作。LINQ 提供了一组丰富的查询操作符,例如 Where、Select、OrderBy、GroupBy 等,可以使代码更加简洁和易读。
' LINQ 示例
Dim numbers As Integer() = {1, 2, 3, 4, 5}
Dim evenNumbers As Integer() = From n In numbers Where n Mod 2 = 0 Select n
15 异步编程:在 VB.NET 中,可以使用异步编程模式来处理耗时操作,例如网络请求、文件读写等。异步编程可以使应用程序更加响应和流畅,并提高用户体验。
' 异步编程示例
Async Function DownloadFileAsync(url As String, path As String) As Task
Using client As New WebClient()
Await client.DownloadFileTaskAsync(url, path)
End Using
End Function
16 运行时交互性:VB.NET 提供了一些运行时交互性的功能,例如反射、动态代码生成和调试器 API。这些功能可以使开发人员更加方便地进行调试、测试和优化。
' 运行时交互性示例
Dim assembly As Assembly = Assembly.LoadFrom("path/to/assembly.dll")
Dim types As Type() = assembly.GetTypes()
Dim instance As Object = Activator.CreateInstance(types(0))
Dim method As MethodInfo = types(0).GetMethod("MyMethod")
result = method.Invoke(instance, parameters)
17 强类型数据访问:在 VB.NET 中,可以使用强类型数据访问来访问数据库和其他数据源。强类型数据访问可以使代码更加类型安全和易于维护,并提供一些高级功能,例如自动生成代码、数据绑定和数据验证。
' 强类型数据访问示例
Dim context As New MyDataContext()
Dim customers As IQueryable(Of Customer) = From c In context.Customers Where c.City = "London" Select c
For Each customer As Customer In customers
' 处理客户信息
Next
18 事件处理器:VB.NET 支持事件处理器,可以方便地处理控件和对象的事件。开发人员可以使用已有的事件处理器或自定义自己的事件处理器,从而快速响应用户操作和状态变化。
' 事件处理器示例
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' 处理按钮点击事件
End Sub
19 特性:VB.NET 支持特性(Attribute),可以方便地为代码元素添加元数据和标记。开发人员可以使用已有的特性或自定义自己的特性,从而为代码元素添加额外信息和功能。
' 特性示例
Public Class MyClass
' 添加 Serializable 特性
End Class
20 泛型:VB.NET 支持泛型(Generic),可以方便地创建类型安全和可重用的代码。开发人员可以使用已有的泛型类型或自定义自己的泛型类型,从而提高代码的可读性和可维护性。
' 泛型示例
Public Function GetMax(Of T)(values As IEnumerable(Of T)) As T
Return values.Max()
End Function
21 强制转换:VB.NET 支持强制转换,可以方便地将数据类型转换为其他类型。开发人员可以使用已有的转换函数或自定义自己的转换函数,从而提高代码的可读性和可维护性。
' 强制转换示例
Dim intValue As Integer = CInt("123")
Dim doubleValue As Double = CDbl("1.23")
22 标准查询运算符:VB.NET 支持标准查询运算符(Standard Query Operators),可以方便地进行数据查询和操作。开发人员可以使用已有的标准查询运算符或自定义自己的标准查询运算符,从而提高数据查询和操作的效率和可读性。
' 标准查询运算符示例
Dim customers = db.Customers.Where(Function(c) c.City = "London").OrderBy(Function(c) c.Name)
23 运算符重载:VB.NET 支持运算符重载,可以方便地自定义运算符的行为。开发人员可以重载已有的运算符或自定义自己的运算符,从而提高代码的可读性和可维护性。
' 运算符重载示例
Public Shared Operator +(a As MyClass, b As MyClass) As MyClass
' 自定义 + 运算符的行为
End Operator
24 匿名类型:VB.NET 支持匿名类型(Anonymous Type),可以方便地创建临时对象。开发人员可以使用已有的匿名类型或自定义自己的匿名类型,从而提高代码的灵活性和可读性。
' 匿名类型示例
Dim person = New With {.Name = "John", .Age = 30}
25 扩展方法:VB.NET 支持扩展方法(Extension Method),可以方便地为已有的类型添加新的方法。开发人员可以使用已有的扩展方法或自定义自己的扩展方法,从而提高代码的可读性和可维护性。
' 扩展方法示例
Module StringExtensions
Public Function ToTitleCase(value As String) As String
' 自定义 ToTitleCase 扩展方法的行为
End Function
End Module
26 索引器:VB.NET 支持索引器(Indexer),可以方便地为对象添加索引器。开发人员可以使用已有的索引器或自定义自己的索引器,从而提高代码的可读性和可维护性。
' 索引器示例
Public Class MyClass
Private _values As Integer()
Default Public Property Item(index As Integer) As Integer
Get
Return _values(index)
End Get
Set(value As Integer)
_values(index) = value
End Set
End Property
End Class
标签:Visual Basic
加入收藏