首頁 >後端開發 >C#.Net教程 >C# 面試題目及答案

C# 面試題目及答案

PHPz
PHPz原創
2024-09-03 15:35:37557瀏覽

它是型別安全的託管語言。許多作業系統都使用它,因此必須對這種語言有很強的理解。它的需求量很大,並且由於其多功能性,它可以支援許多作業系統。

您終於找到了您夢想的 C# 工作,但想知道如何破解 2023 年 C# 面試以及可能的 C# 面試問題是什麼。每次面試都是不同的,工作範圍也不同。考慮到這一點,我們設計了最常見的 C# 面試問題和答案,以幫助您在面試中取得成功。

第 1 部分 – C# 面試問題(基礎)

第一部分涵蓋基本的 C# 面試問題和答案。

Q1。什麼是託管程式碼和非託管程式碼?

答案:

託管程式碼在 .Net 平台上執行。它對基於該平台的所有應用程式程式碼使用 CLR(公共語言執行時期)。應用程式在執行時負責管理記憶體、安全性和效能等因素。這些是面試中可能會出現的關鍵 C# 面試問題。

Q2。 C# 中的類別有哪些不同型別?簡要解釋每個課程。

答案:

C# 中有四種類型的類別。它們如下:

1) 靜態類別:這類不允許繼承。該類別中的成員是靜態的,並由關鍵字“static”標識。

2) 抽象類別: 此類由關鍵字abstract 表示。這些類別的物件無法實例化。該類別只能被繼承,並且必須至少包含一個方法。

3) 密封類別: 這類無法繼承。要訪問,應建立此類的物件。它是使用關鍵字 Sealed 製作的。

4) Partial 類別: 透過使用“partial”關鍵字,可以將一個類別指定為“partial”,這允許其成員在多個 .cs 檔案之間分割或共用。

讓我們繼續討論以下 C# 面試問題。

Q3。什麼是 C# I/O 類別?

答案:

C# 使用 System.IO 命名空間,該命名空間由執行各種操作的類別組成,例如建立、刪除、開啟、關閉等。常用的 I/O 類別有:

  • 檔案: 幫助對檔案執行多個操作。它有助於創建和操作文件。
  • StreamWriter: 用於將字元寫入流。
  • StreamReader:用於從流中讀取字元。
  • StringWriter: 用於將字串寫入緩衝區。
  • StringReader: 用於從 pad 讀取一行。
  • 路徑:當使用者想要執行與課程相關的操作時使用。

第四季。解釋一下 StreamReader/ StreamWriter 類別。

答案:

這兩個類別都屬於命名空間 System.IO。 StreamReader 類別包含以下成員:close()、read()、Readline()。 StreamWrier 類別包括 close()、write()、writeline() 等成員。

class Program1
{
using(StreamReader sr = new StreamReader("C:\ReadMe.txt")
{
//----------------code to read-------------------//
}
using(StreamWriter sw = new StreamWriter("C:\ReadMe.txt"))
{
//-------------code to write-------------------//
}
}

Q5。解釋一下裝箱和拆箱的概念?

答案:

裝箱是將值轉換為參考類型。

範例:

int value -= 20;
//-----------Boxing------------//
Object boxValue= value;

此處 boxValue 引用「值」。
拆箱是明確從引用型別轉換回值型別的過程。

範例:

//————UnBoxing——————//
int UnBoxing = int (boxedValue);

將引用拆箱恢復到原始值。

第 2 部分 – C# 面試問題(進階)

現在讓我們來看看高階 C# 面試題。

Q6。什麼是正規表示式?寫一個正規表示式來找出字串,使用?

答案:

正規表示式模式到範本以符合給定的輸入集。這些模式可能包含運算符、字元文字、符號等。開發人員通常使用正規表示式 (regex) 來解析字串或替換其中的特定字元。使用正規表示式,開發人員可以搜尋給定輸入檔案或字串中的任何模式,使其成為處理基於文字的資料的強大工具。
範例:

static void Main(string[] args)
{
string[] lang = { "C#", "Python", "Java" };
foreach(string s in lang)
{
if(System.Text.RegularExpressions.Regex.IsMatch(s,"Python"))
{
Console.WriteLine("Match found");
}
}
}

此程式碼範例利用 Python 在陣列中搜尋特定語言。此方法允許開發人員使用正規表示式來定位輸入中的特定匹配項。

Q7。代表有哪些不同類型?

答案:

不同類型的代表是:

  • 單一委託: 當委託呼叫單一方法時,它是單一委託。
    • 多播委託: 當一個委託呼叫多個方法時,它就是一個多播委託。使用者可以使用 + 和 – 運算子來訂閱和取消訂閱。
    • 一般委託: 通用委託分為三種類型。它們是動作、函數和謂詞。

Q8。  C# 中的 lambda 表達式是什麼?

答案: lambda 表達式是在 C# 中定義匿名方法的簡潔方法。它通常用於 LINQ 查詢以及定義委託或事件處理程序。 Lambda 表達式使程式碼更具可讀性和表現力。

Q9。 C# 中的委託是什麼?

答案: 委託是一種類型,表示對具有特定參數清單和傳回類型的方法的參考。委託用於定義回調方法和實作事件處理,是 C# 事件和回呼的基本組成部分。

問題10。解釋C#中裝箱和拆箱的概念。

答案: 裝箱是將值型別轉換為參考型別的過程,而拆箱是將裝箱值轉換回值型別的逆過程。裝箱和拆箱會對性能產生影響,因此應謹慎使用它們。

以上是C# 面試題目及答案的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn