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 祝您能遇到一位好的面試官,並祝您未來的事業一切順利。乾杯 :-)

列印
廣告

© . All rights reserved.