- VB.Net 基础教程
- VB.Net - 首页
- VB.Net - 概述
- VB.Net - 环境设置
- VB.Net - 程序结构
- VB.Net - 基本语法
- VB.Net - 数据类型
- VB.Net - 变量
- VB.Net - 常量
- VB.Net - 修饰符
- VB.Net - 语句
- VB.Net - 指令
- VB.Net - 运算符
- VB.Net - 决策制定
- VB.Net - 循环
- VB.Net - 字符串
- VB.Net - 日期和时间
- VB.Net - 数组
- VB.Net - 集合
- VB.Net - 函数
- VB.Net - 子过程
- VB.Net - 类和对象
- VB.Net - 异常处理
- VB.Net - 文件处理
- VB.Net - 基本控件
- VB.Net - 对话框
- VB.Net - 高级窗体
- VB.Net - 事件处理
- VB.Net 高级教程
- VB.Net - 正则表达式
- VB.Net - 数据库访问
- VB.Net - Excel 表格
- VB.Net - 发送电子邮件
- VB.Net - XML 处理
- VB.Net - Web 编程
- VB.Net 有用资源
- VB.Net - 快速指南
- VB.Net - 有用资源
- VB.Net - 讨论
VB.NET 面试问题
尊敬的读者,这些VB.NET 面试问题专为帮助您熟悉VB.NET 语言面试中可能遇到的问题类型而设计。根据我的经验,优秀的面试官在面试过程中很少会预先设定特定问题,通常会从主题的一些基本概念开始,然后根据后续的讨论和您的回答继续提问。
Visual Basic .NET (VB.NET) 是一种面向对象的计算机编程语言,它在 .NET Framework 上实现。虽然它是经典 Visual Basic 语言的演进,但它与 VB6 不兼容,任何用旧版本编写的代码都无法在 VB.NET 下编译。
Sub Main 指示 VB.Net 程序的入口点。
共享方法或静态方法可以在不创建类对象的情况下调用。
Shared 声明一个共享变量,它不与类的任何特定实例关联,而是对类的所有实例可用。
Shadows 指示变量重新声明并隐藏基类中同名元素或一组重载元素。
Static 指示变量将保留其值,即使在声明它的过程终止后也是如此。
在 VB.Net 中,常量使用 Const 语句声明。Const 语句用于模块、类、结构、过程或块级别,以代替字面值。
Ansi - 指定 Visual Basic 应将所有字符串编组到美国国家标准学会 (ANSI) 值,而不管要声明的外部过程的名称是什么。
Assembly - 指定源文件开头处的属性应用于整个程序集。
Async - 指示其修改的方法或 lambda 表达式是异步的。此类方法称为异步方法。异步方法的调用者可以在不等待异步方法完成的情况下恢复其工作。
Auto - Declare 语句中的 charsetmodifier 部分提供了在调用外部过程期间编组字符串的字符集信息。它还会影响 Visual Basic 如何在外部文件中搜索外部过程名称。Auto 修饰符指定 Visual Basic 应根据 .NET Framework 规则编组字符串。
ByRef - 指定参数按引用传递,即被调用过程可以更改调用代码中参数下层变量的值。它在以下上下文中使用:
Declare 语句
Function 语句
Sub 语句
ByVal - 指定参数以这样一种方式传递,即被调用过程或属性无法更改调用代码中参数下层变量的值。它在以下上下文中使用:
Declare 语句
Function 语句
运算符语句
属性语句
Sub 语句
Default - 将属性标识为其类、结构或接口的默认属性。
Friend - 指定一个或多个已声明的编程元素可从包含其声明的程序集中访问,而不仅仅是被声明的组件。
Friend 访问通常是应用程序编程元素的首选级别,Friend 是接口、模块、类或结构的默认访问级别。
In - 它用于泛型接口和委托。
Iterator - 指定函数或 Get 访问器是迭代器。迭代器对集合执行自定义迭代。
Key - Key 关键字使您能够指定匿名类型的属性的行为。
Module - 指定源文件开头处的属性应用于当前程序集模块。它与 Module 语句不同。
MustInherit - 指定类只能用作基类,并且您不能直接从此类创建对象。
MustOverride - 指定属性或过程在此类中未实现,并且必须在派生类中被重写才能使用。
Narrowing - 指示转换运算符 (CType) 将类或结构转换为可能无法保存原始类或结构某些可能值的类型。
NotInheritable - 指定类不能用作基类。
NotOverridable - 指定属性或过程不能在派生类中被重写。
Optional - 指定在调用过程时可以省略过程参数。
Out - 对于泛型类型参数,Out 关键字指定类型是协变的。
Overloads - 指定属性或过程重新声明一个或多个具有相同名称的现有属性或过程。
Overridable - 指定属性或过程可以在派生类中被同名属性或过程重写。
Overrides - 指定属性或过程重写从基类继承的同名属性或过程。
ParamArray - ParamArray 允许您向过程传递任意数量的参数。ParamArray 参数始终使用 ByVal 声明。
Partial - 指示类或结构声明是类或结构的部分定义。
Private - 指定一个或多个已声明的编程元素只能从其声明上下文中访问,包括从任何包含的类型中访问。
Protected - 指定一个或多个已声明的编程元素只能从其自己的类或派生类中访问。
Public - 指定一个或多个已声明的编程元素没有访问限制。
ReadOnly - 指定变量或属性可以读取但不能写入。
Shadows - 指定已声明的编程元素重新声明并隐藏基类中同名元素或一组重载元素。
Shared - 指定一个或多个已声明的编程元素与类或结构整体相关联,而不是与类的特定实例相关联。
Static - 指定一个或多个已声明的局部变量在声明它们的程序终止后继续存在并保留其最新值。
Unicode - 指定 Visual Basic 应将所有字符串编组到 Unicode 值,而不管要声明的外部过程的名称是什么。
Widening - 指示转换运算符 (CType) 将类或结构转换为可以保存原始类或结构所有可能值的类型。
WithEvents - 指定一个或多个已声明的成员变量引用可以引发事件的类的实例。
WriteOnly - 指定属性可以写入但不能读取。
Dim 语句 - 声明并分配一个或多个变量的存储空间。
Dim number As Integer Dim quantity As Integer = 100 Dim message As String = "Hello!"
Const 语句 - 声明并定义一个或多个常量。
Const maximum As Long = 1000 Const naturalLogBase As Object = CDec(2.7182818284)
Enum 语句 - 声明枚举并定义其成员的值。
Enum CoffeeMugSize Jumbo ExtraLarge Large Medium Small End Enum
Class 语句 - 声明类的名称并引入类包含的变量、属性、事件和过程的定义。
Class Box Public length As Double Public breadth As Double Public height As Double End Class
Structure 语句 - 声明结构的名称并引入结构包含的变量、属性、事件和过程的定义。
Structure Box Public length As Double Public breadth As Double Public height As Double End Structure
Module 语句 - 声明模块的名称并引入模块包含的变量、属性、事件和过程的定义。
Public Module myModule Sub Main() Dim user As String = InputBox("What is your name?") MsgBox("User name is" & user) End Sub End Module
Interface 语句 - 声明接口的名称并引入接口包含的成员的定义。
Public Interface MyInterface Sub doSomething() End Interface
Function 语句 - 声明 Function 过程的名称、参数和代码。
Function myFunction (ByVal n As Integer) As Double Return 5.87 * n End Function
Sub 语句 - 声明定义 Sub 过程的名称、参数和代码。
Sub mySub(ByVal s As String) Return End Sub
Declare 语句 - 声明对在外部文件中实现的过程的引用。
Declare Function getUserName Lib "advapi32.dll" Alias "GetUserNameA" ( ByVal lpBuffer As String, ByRef nSize As Integer) As Integer
Operator 语句 - 声明定义类或结构上的运算符过程的运算符符号、操作数和代码。
Public Shared Operator + (ByVal x As obj, ByVal y As obj) As obj Dim r As New obj ' implemention code for r = x + y Return r End Operator
Property 语句 - 声明属性的名称,以及用于存储和检索属性值的属性过程。
ReadOnly Property quote() As String Get Return quoteString End Get End Property
Event 语句 - 声明用户定义的事件。
Public Event Finished()
Delegate 语句 - 用于声明委托。
Delegate Function MathOperator( ByVal x As Double, ByVal y As Double ) As Double
VB.Net 编译器指令指示编译器在实际编译开始之前预处理信息。所有这些指令都以 # 开头,并且在一行指令之前只能出现空格字符。这些指令不是语句。
AddressOf - 返回过程的地址。
AddHandler Button1.Click, AddressOf Button1_Click
Await - 它应用于异步方法或 lambda 表达式中的操作数,以挂起方法的执行,直到等待的任务完成。
Dim result As res = Await AsyncMethodThatReturnsResult() Await AsyncMethod()
GetType - 它为指定类型返回一个 Type 对象。Type 对象提供有关类型的信息,例如其属性、方法和事件。
MsgBox(GetType(Integer).ToString())
函数表达式 - 它声明定义函数 lambda 表达式的参数和代码。
Dim add5 = Function(num As Integer) num + 5 'prints 10 Console.WriteLine(add5(5))
If - 它使用短路求值来有条件地返回两个值之一。If 运算符可以带三个参数或两个参数调用。
Exit 语句 - 终止循环或 Select Case 语句,并将执行转移到循环或 Select Case 后面的下一条语句。
Continue 语句 - 使循环跳过其主体其余部分,并在重复迭代之前立即重新测试其条件。
GoTo 语句 - 将控制权转移到带标签的语句。尽管不建议在程序中使用 GoTo 语句。
动态数组是可以根据程序需要进行维度设置和重新维度设置的数组。可以使用 ReDim 语句声明动态数组。
交错数组是数组的数组。交错数组是数组的数组。以下代码显示了声明一个名为 scores 的整数交错数组。
Dim scores As Integer()() = New Integer(5)(){}
它表示可以单独索引的对象的有序集合。它基本上是数组的替代方案。但是,与数组不同,您可以使用索引在指定位置添加和删除列表中的项目,并且数组会自动调整自身大小。它还允许动态内存分配、添加、搜索和排序列表中的项目。
它使用键来访问集合中的元素。当您需要使用键访问元素时,可以使用哈希表,并且您可以识别有用的键值。哈希表中的每个项目都具有键/值对。键用于访问集合中的项目。
它使用键以及索引来访问列表中的项目。排序列表是数组和哈希表的组合。它包含一个项目列表,可以使用键或索引访问。如果使用索引访问项目,则它是 ArrayList,如果使用键访问项目,则它是 Hashtable。项目的集合始终按键值排序。
它表示对象的最后入先出集合。当您需要最后入先出访问项目时,可以使用它。当您在列表中添加项目时,称为推送项目,当您将其移除时,称为弹出项目。
它表示对象的先进先出集合。当您需要先进先出访问项目时,可以使用它。当您在列表中添加项目时,称为入队,当您移除项目时,称为出队。
它表示使用值 1 和 0 的二进制表示的数组。当您需要存储位但事先不知道位数时,可以使用它。您可以使用从零开始的整数索引访问 BitArray 集合中的项目。
在 VB.Net 中,函数可以通过两种方式返回值给调用代码 -
使用 Return 语句。
将值赋给函数名。
通过使用 Params 关键字,可以指定一个方法参数,该参数接受可变数量的参数,甚至不接受参数。
不可以!在方法声明中,Params 关键字后面不允许使用其他参数。在一个方法声明中只允许使用一个 Params 关键字。
VB.NET 异常由类表示。VB.NET 中的异常类主要直接或间接派生自 System.Exception 类。一些从 System.Exception 类派生的异常类是 System.ApplicationException 和 System.SystemException 类。
System.ApplicationException 类支持应用程序程序生成的异常。因此,程序员定义的异常应该从此类派生。System.SystemException 类是所有预定义系统异常的基类。
流基本上是通过通信路径传递的字节序列。主要有两种流:输入流和输出流。输入流用于从文件读取数据(读取操作),输出流用于写入文件(写入操作)。
System.IO 命名空间中的 FileStream 类有助于读取、写入和关闭文件。此类派生自抽象类 Stream。
StreamReader 类继承自抽象基类 TextReader,该类表示用于读取字符序列的读取器。它用于从文本文件读取。
StreamWriter 类继承自抽象类 TextWriter,该类表示一个写入器,可以写入一系列字符。它用于写入文本文件。
BinaryReader 类用于从文件读取二进制数据。通过将 FileStream 对象传递给其构造函数来创建 BinaryReader 对象。BinaryReader 类用于从二进制文件读取。
BinaryWriter 类用于将二进制数据写入流。通过将 FileStream 对象传递给其构造函数来创建 BinaryWriter 对象。BinaryWriter 类用于写入二进制文件。
DirectoryInfo 类派生自 FileSystemInfo 类。它具有用于创建、移动和浏览目录和子目录的各种方法。此类不能被继承。
FileInfo 类派生自 FileSystemInfo 类。它具有用于创建、复制、删除、移动和打开文件的属性和实例方法,并有助于创建 FileStream 对象。此类不能被继承。
每个 Visual Basic 控件都包含三个重要的元素 -
**属性** - 描述对象。
**方法** - 使对象执行某些操作。
**事件** - 对象执行某些操作时发生。
它表示构成用户界面的所有控件的容器。
它表示 Windows 文本框控件。
它表示标准的 Windows 标签。
它表示 Windows 按钮控件。
它表示 Windows 控件,用于显示项目列表。
它表示 Windows 组合框控件。
当与其他 RadioButton 控件配对时,它使用户能够从一组选项中选择一个选项。
它表示 Windows 图片框控件,用于显示图像。
它表示 Windows 进度条控件。
它实现了滚动条控件的基本功能。
它表示 Windows 控件,允许用户选择日期和时间,并以指定的格式显示日期和时间。
它显示带标签项目的层次结构集合,每个项目由一个 TreeNode 表示。
它表示 Windows 列表视图控件,该控件显示可以使用四种不同视图之一显示的项目集合。
接下来是什么?
接下来您可以回顾一下您之前完成的与该主题相关的作业,并确保您能够自信地谈论它们。如果您是应届毕业生,面试官不会期望您回答非常复杂的问题,而是您必须使您的基础概念非常牢固。
其次,如果您无法回答一些问题,其实关系不大,但重要的是,无论您回答了什么,都必须自信地回答。所以在面试过程中要自信。我们在 tutorialspoint 祝您能遇到一位好的面试官,并祝您未来的事业一切顺利。干杯 :-)
打印