ホームページ  >  記事  >  バックエンド開発  >  C# 面接の質問と回答

C# 面接の質問と回答

PHPz
PHPzオリジナル
2024-09-03 15:35:37492ブラウズ

これはタイプセーフでマネージ言語です。多くのオペレーティング システムでこの言語が使用されているため、この言語をよく理解する必要があります。需要が高く、その汎用性により、多くのオペレーティング システムをサポートできます。

あなたは、ついに C# で夢の仕事を見つけましたが、2023 年の C# 面接に合格する方法と、予想される C# 面接の質問が何なのか疑問に思っています。面接は毎回異なりますし、仕事の範囲も異なります。これを念頭に置いて、面接で成功するために役立つ、最も一般的な C# 面接の質問と回答を作成しました。

パート 1 – C# 面接の質問 (基本)

この最初のパートでは、基本的な C# 面接の質問と回答について説明します。

Q1.マネージド コードとアンマネージド コードとは何ですか?

答え:

マネージド コードは .Net プラットフォームで実行されます。そのプラットフォームに基づくすべてのアプリケーション コードに CLR (共通言語ランタイム) を使用します。アプリケーションは、実行されると、メモリ、セキュリティ、パフォーマンスなどの要素を管理します。これらは、面接で予想される重要な C# 面接の質問の 1 つです。

Q2. C# のクラスにはどのような種類がありますか?各クラスを簡単に説明します。

答え:

C# には 4 種類のクラスがあります。それらは次のとおりです:

1) 静的クラス: このクラスは継承を許可しません。このクラス内のメンバーは静的であり、キーワード「static」によって識別されます。

2) 抽象クラス: このクラスは、キーワード抽象によって示されます。これらのクラスのオブジェクトはインスタンス化できません。このクラスは継承のみが可能で、少なくとも 1 つのメソッドを含める必要があります。

3) Sealed クラス: このクラスは継承できません。アクセスするには、このクラスのオブジェクトを作成する必要があります。 Sealed というキーワードを使用して作成されています。

4) 部分クラス: 「partial」キーワードを使用すると、クラスを「部分」として指定でき、そのメンバーを複数の .cs ファイル間で分割または共有できます。

次の C# 面接の質問に進みましょう。

Q3. C# I/O クラスとは何ですか?

答え:

C# は System.IO 名前空間を使用します。これは、作成、削除、開く、閉じるなどのさまざまな操作を実行するクラスで構成されます。一般的に使用される I/O クラスは次のとおりです。

  • ファイル: ファイルに対して複数の操作を実行するのに役立ちます。ファイルの作成と操作に役立ちます。
  • StreamWriter: ストリームに文字を書き込むため。
  • StreamReader: ストリームから文字を読み取るために使用されます。
  • StringWriter: 文字列をバッファに書き込むために使用されます。
  • StringReader: パッドから行を読み取るために使用されます。
  • パス: ユーザーがコースに関連する操作を実行する場合に使用されます。

Q4. 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.デリゲートにはどのような種類がありますか?

答え:

さまざまなタイプのデリゲートは次のとおりです:

  • 単一のデリゲート: デリゲートが単一のメソッドを呼び出す場合、それは単一のデリゲートです。
    • マルチキャスト デリゲート: デリゲートが複数のメソッドを呼び出す場合、それはマルチキャスト デリゲートです。ユーザーは + 演算子と – 演算子を使用して購読と購読解除を行うことができます。
    • 汎用デリゲート: 汎用デリゲートには 3 つのタイプがあります。それらは、アクション、関数、述語です。

Q8.  C# のラムダ式とは何ですか?

答え: ラムダ式は、C# で匿名メソッドを定義する簡潔な方法です。これは、LINQ クエリやデリゲートまたはイベント ハンドラーの定義によく使用されます。ラムダ式を使用すると、コードがより読みやすく、表現力が豊かになります。

Q9. C# のデリゲートとは何ですか?

答え: デリゲートは、特定のパラメーター リストと戻り値の型を持つメソッドへの参照を表す型です。デリゲートはコールバック メソッドの定義とイベント処理の実装に使用され、C# イベントとコールバックの基本的な部分です。

Q10. C# のボックス化とアンボックス化の概念を説明します。

答え: ボックス化は値型を参照型に変換するプロセスであり、アンボックス化はボックス化された値を値型に変換する逆のプロセスです。ボックス化とボックス化解除はパフォーマンスに影響を与える可能性があるため、慎重に使用する必要があります。

以上がC# 面接の質問と回答の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。