คำถามและคำตอบสัมภาษณ์ C# 50 อันดับแรก (2025)

คำถามและคำตอบในการสัมภาษณ์ C# สำหรับนักศึกษาใหม่และประสบการณ์ 2/3/5/10 ปี

ต่อไปนี้เป็นคำถามและคำตอบในการสัมภาษณ์ C# สำหรับผู้สมัครที่มีประสบการณ์ 5 หรือ 10 ปีเพื่อให้ได้งานในฝัน

1) C# คืออะไร?

C# เป็นภาษาเชิงวัตถุ ชนิดปลอดภัย และจัดการที่คอมไพล์โดยเฟรมเวิร์ก .Net เพื่อสร้าง Microsoft ภาษาระดับกลาง.

👉 ดาวน์โหลดไฟล์ PDF ฟรี: คำถามและคำตอบสัมภาษณ์สัมภาษณ์ C#


2) อธิบายประเภทของความคิดเห็นใน C# พร้อมตัวอย่าง

บรรทัดเดียว

ตัวอย่าง:

//This is a single line comment

ครั้งที่สอง หลายบรรทัด (/* */)

ตัวอย่าง:

/*This is a multiple line comment
We are in line 2
Last line of comment*/

สาม. ความคิดเห็น XML (///)

ตัวอย่าง:

/// summary;
/// Set error message for multilingual language.
/// summary

3) สามารถดำเนินการ catch block หลายอันได้หรือไม่?

ไม่ได้ ไม่สามารถดำเนินการ catch block ที่เป็นประเภทเดียวกันหลายบล็อกได้ เมื่อดำเนินการโค้ด catch ที่เหมาะสมแล้ว การควบคุมจะถูกถ่ายโอนไปยังบล็อกสุดท้าย จากนั้นโค้ดที่ตามหลังบล็อกสุดท้ายจะถูกดำเนินการ


4) ความแตกต่างระหว่างสาธารณะ คงที่ และโมฆะคืออะไร?

ตัวแปรหรือวิธีการประกาศสาธารณะสามารถเข้าถึงได้ทุกที่ในแอปพลิเคชัน ตัวแปรหรือวิธีการประกาศแบบคงที่สามารถเข้าถึงได้ทั่วโลกโดยไม่ต้องสร้างอินสแตนซ์ของคลาส สมาชิกแบบคงที่โดยค่าเริ่มต้นไม่สามารถเข้าถึงได้ทั่วโลก ขึ้นอยู่กับประเภทของการเข้าถึงที่แก้ไขที่ใช้ คอมไพเลอร์จะจัดเก็บที่อยู่ของเมธอดเป็นจุดเริ่มต้น และใช้ข้อมูลนี้เพื่อเริ่มดำเนินการก่อนที่จะสร้างออบเจ็กต์ใดๆ และ Void เป็นตัวดัดแปลงประเภทที่ระบุว่าเมธอดหรือตัวแปรไม่ส่งคืนค่าใดๆ

วัตถุใน C #

คำถามสัมภาษณ์ C #


5) วัตถุคืออะไร?

วัตถุเป็นตัวอย่างของคลาสที่เราเข้าถึงวิธีการของคลาสนั้น คำหลัก "ใหม่" ใช้เพื่อสร้างวัตถุ คลาสที่สร้างวัตถุในหน่วยความจำจะมีข้อมูลเกี่ยวกับเมธอด ตัวแปร และลักษณะการทำงานของคลาสนั้น


6) กำหนดตัวสร้าง

Constructor คือฟังก์ชันสมาชิกในคลาสที่มีชื่อเดียวกับคลาส Constructor จะถูกเรียกใช้โดยอัตโนมัติทุกครั้งที่มีการสร้างคลาสอ็อบเจ็กต์ มันสร้างค่าของสมาชิกข้อมูลในขณะที่เริ่มต้นคลาส


7) Jagged Arrays คืออะไร?

อาร์เรย์ที่มีองค์ประกอบประเภทอาร์เรย์เรียกว่า jagged Array องค์ประกอบอาจมีขนาดและขนาดต่างกัน นอกจากนี้เรายังสามารถเรียก jagged Array ว่าเป็นอาร์เรย์ของอาร์เรย์ได้


8) อะไรคือความแตกต่างระหว่างพารามิเตอร์ ref และ out?

อาร์กิวเมนต์ที่ส่งผ่านการอ้างอิงจะต้องเริ่มต้นก่อนที่จะส่งผ่านไปยังวิธีการในขณะที่พารามิเตอร์ออกไม่จำเป็นต้องเริ่มต้นก่อนที่จะส่งผ่านไปยังวิธีการ


9) คำสั่ง 'using' ใน C# มีประโยชน์อย่างไร?

บล็อก 'การใช้' ถูกใช้เพื่อรับทรัพยากรและประมวลผล จากนั้นจะกำจัดโดยอัตโนมัติเมื่อการดำเนินการบล็อกเสร็จสมบูรณ์


10) การทำให้เป็นอนุกรมคืออะไร?

เมื่อเราต้องการขนส่งวัตถุผ่านเครือข่าย เราจะต้องแปลงวัตถุให้เป็นกระแสข้อมูลไบต์ กระบวนการแปลงวัตถุให้เป็นกระแสข้อมูลไบต์เรียกว่าการทำให้เป็นอนุกรม เพื่อให้วัตถุเป็นแบบอนุกรมได้ ควรใช้ ISerialize Interface การดีซีเรียลไลซ์เซชันเป็นกระบวนการย้อนกลับของการสร้างออบเจ็กต์จากกระแสข้อมูลไบต์


11) เราสามารถใช้คำสั่ง “this” ภายในวิธีการแบบคงที่ได้หรือไม่?

เราไม่สามารถใช้ 'This' ในวิธีการแบบคงที่ได้เนื่องจากเราสามารถใช้ได้เฉพาะตัวแปร/วิธีการแบบคงที่ในวิธีการแบบคงที่เท่านั้น


12) ค่าคงที่และอ่านอย่างเดียวแตกต่างกันอย่างไร?

ตัวแปรคงที่จะถูกประกาศและเริ่มต้น ณ เวลาคอมไพล์ ไม่สามารถเปลี่ยนแปลงค่าได้ในภายหลัง อ่านอย่างเดียวจะใช้เฉพาะเมื่อเราต้องการกำหนดค่า ณ รันไทม์


13) คลาสอินเทอร์เฟซคืออะไร? ให้ตัวอย่างหนึ่งของมัน

ส่วนต่อประสานเป็นคลาสนามธรรมซึ่งมีเพียงวิธีนามธรรมสาธารณะเท่านั้น และวิธีการมีเพียงการประกาศเท่านั้น ไม่ใช่คำจำกัดความ วิธีการเชิงนามธรรมเหล่านี้จะต้องนำไปใช้ในคลาสที่สืบทอดมา

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 interface Guru99Interface
 {
  void SetTutorial(int pID, string pName);
  String GetTutorial();
 }

 class Guru99Tutorial : Guru99Interface
 {
  protected int TutorialID;
  protected string TutorialName;

  public void SetTutorial(int pID, string pName)
  {
   TutorialID = pID;
   TutorialName = pName;
  }

  public String GetTutorial()
  {
   return TutorialName;
  }

  static void Main(string[] args)
  {
   Guru99Tutorial pTutor = new Guru99Tutorial();

   pTutor.SetTutorial(1,".Net by Guru99");

   Console.WriteLine(pTutor.GetTutorial());

   Console.ReadKey();
  }
 }
}

14) ประเภทของค่าและประเภทการอ้างอิงคืออะไร?

ประเภทค่าจะเก็บค่าข้อมูลไว้ภายในพื้นที่หน่วยความจำของตัวเอง ตัวอย่าง

int a = 30;

ประเภทการอ้างอิงจะจัดเก็บที่อยู่ของออบเจ็กต์ที่เก็บค่าไว้ เป็นตัวชี้ไปยังตำแหน่งหน่วยความจำอื่น

string b = "Hello Guru99!!";

15) การควบคุมแบบกำหนดเองและการควบคุมผู้ใช้คืออะไร?

Custom Controls คือการควบคุมที่สร้างขึ้นเป็นโค้ดที่คอมไพล์แล้ว (Dlls) ซึ่งใช้งานง่ายกว่าและสามารถเพิ่มลงในกล่องเครื่องมือได้ นักพัฒนาสามารถลากและวางการควบคุมลงในแบบฟอร์มบนเว็บได้ สามารถเพิ่มแอตทริบิวต์ได้ในระหว่างการออกแบบ เราสามารถเพิ่มการควบคุมแบบกำหนดเองลงในแอปพลิเคชันหลายตัวได้อย่างง่ายดาย (หากใช้ Dlls ร่วมกัน) ดังนั้น หากเป็นแบบส่วนตัว เราสามารถคัดลอกไปยัง dll ในไดเร็กทอรี bin ของแอปพลิเคชันเว็บ จากนั้นเพิ่มการอ้างอิงและสามารถใช้งานได้

ตัวควบคุมของผู้ใช้นั้นคล้ายกับไฟล์ ASP มากและสร้างได้ง่าย ตัวควบคุมของผู้ใช้ไม่สามารถวางในกล่องเครื่องมือแล้วลากหรือวางจากกล่องเครื่องมือได้ ตัวควบคุมเหล่านี้มีการออกแบบและโค้ดอยู่เบื้องหลัง นามสกุลไฟล์สำหรับตัวควบคุมของผู้ใช้คือ ascx


16) คลาสที่ปิดผนึกใน C# คืออะไร?

เราสร้างคลาสที่ปิดผนึกเมื่อเราต้องการจำกัดคลาสที่จะสืบทอด ตัวดัดแปลงที่ปิดผนึกใช้เพื่อป้องกันการสืบทอดมาจากคลาส หากเราบังคับระบุคลาสที่ปิดผนึกเป็นคลาสพื้นฐาน ข้อผิดพลาดเวลาคอมไพล์จะเกิดขึ้น


17) วิธีการโอเวอร์โหลดคืออะไร?

วิธีการโอเวอร์โหลดคือการสร้างหลายวิธีด้วยชื่อเดียวกันพร้อมลายเซ็นเฉพาะในคลาสเดียวกัน เมื่อเราคอมไพล์ คอมไพลเลอร์จะใช้การแก้ปัญหาการโอเวอร์โหลดเพื่อกำหนดวิธีการเฉพาะที่จะเรียกใช้


18) Array และ Arraylist แตกต่างกันอย่างไร?

ในอาร์เรย์เราสามารถมีรายการประเภทเดียวกันได้เท่านั้น ขนาดของอาร์เรย์ได้รับการแก้ไขเมื่อเปรียบเทียบ รายการอาร์เรย์จะคล้ายกับอาร์เรย์ แต่ไม่มีขนาดคงที่


19) สามารถแทนที่วิธีเสมือนส่วนตัวได้หรือไม่?

ไม่ เพราะไม่สามารถเข้าถึงได้นอกชั้นเรียน


20) อธิบายตัวแก้ไขการเข้าถึง “ภายในที่ได้รับการป้องกัน”

ตัวแปร/วิธีการภายในที่ได้รับการป้องกันสามารถเข้าถึงได้ภายในแอสเซมบลีเดียวกันและยังสามารถเข้าถึงได้จากคลาสที่สืบทอดมาจากคลาสหลักนี้ด้วย


21) อะไรคือความแตกต่างระหว่างคลาส System.String และ System.Text.StringBuilder?

System.String นั้นไม่สามารถเปลี่ยนแปลงได้ เมื่อเราแก้ไขค่าของตัวแปรสตริง หน่วยความจำใหม่จะถูกจัดสรรให้กับค่าใหม่และหน่วยความจำที่จัดสรรไว้ก่อนหน้านี้จะถูกปล่อยออกไป System.StringBuilder ได้รับการออกแบบให้มีแนวคิดของสตริงที่เปลี่ยนแปลงได้ ซึ่งสามารถดำเนินการต่างๆ ได้โดยไม่ต้องจัดสรรตำแหน่งหน่วยความจำแยกต่างหากสำหรับสตริงที่แก้ไข


22) System.Array.CopyTo() และ System.Array.Clone() แตกต่างกันอย่างไร

การใช้ Clone() วิธีการที่เราสร้างวัตถุอาร์เรย์ใหม่ที่มีองค์ประกอบทั้งหมดในอาร์เรย์เดิมและการใช้งาน CopyTo() วิธี. องค์ประกอบทั้งหมดของอาร์เรย์ที่มีอยู่จะคัดลอกไปยังอาร์เรย์อื่นที่มีอยู่ ทั้งสองวิธีทำการคัดลอกแบบตื้น


23) เราจะเรียงลำดับองค์ประกอบของ Array จากมากไปน้อยได้อย่างไร?

การใช้ Sort() วิธีการตามมาด้วย Reverse() วิธี


24) เขียนไวยากรณ์ C# เพื่อตรวจจับข้อยกเว้น

เพื่อตรวจจับข้อยกเว้น เราใช้บล็อก try-catch catch block สามารถมีพารามิเตอร์ประเภท system.Exception

เช่น:

try {
    GetAllData();
} 
catch (Exception ex) {
}

ในตัวอย่างข้างต้น เราสามารถละเว้นพารามิเตอร์จากคำสั่ง catch ได้


25) ความแตกต่างระหว่างอินเทอร์เฟซและคลาสนามธรรมคืออะไร?

อินเทอร์เฟซมีวิธีการทั้งหมดที่มีเพียงการประกาศ แต่ไม่มีคำจำกัดความ ในคลาสนามธรรม เราสามารถมีวิธีการที่เป็นรูปธรรมได้ ในคลาสอินเทอร์เฟซ วิธีการทั้งหมดเป็นแบบสาธารณะ คลาสนามธรรมอาจมีวิธีการส่วนตัว


26) วิธีการ Finalize() และ Dispose() แตกต่างกันอย่างไร?

Dispose() ถูกเรียกเมื่อเราต้องการให้อ็อบเจ็กต์ปล่อยทรัพยากรที่ไม่มีการจัดการด้วย ในทางกลับกัน, Finalize() ใช้เพื่อจุดประสงค์เดียวกัน แต่ไม่รับประกันการรวบรวมขยะของวัตถุ


27) การอ้างอิงแบบวงกลมคืออะไร?

การอ้างอิงแบบวงกลมคือสถานการณ์ที่ทรัพยากรตั้งแต่สองรายการขึ้นไปพึ่งพาซึ่งกันและกัน ทำให้เกิดเงื่อนไขการล็อก และทำให้ทรัพยากรใช้งานไม่ได้


28) ยาชื่อสามัญใน C#.NET คืออะไร?

Generics ถูกใช้เพื่อสร้างคลาสโค้ดที่นำมาใช้ซ้ำได้เพื่อลดความซ้ำซ้อนของโค้ด เพิ่มความปลอดภัยของประเภท และประสิทธิภาพการทำงาน เราสามารถสร้างคลาสของคอลเล็กชันได้โดยใช้ Generics หากต้องการสร้างคอลเล็กชันแบบทั่วไป ควรใช้เนมสเปซ System.Collections.Generic แทนคลาสเช่น ArrayList ในเนมสเปซ System.Collections Generics ส่งเสริมการใช้ประเภทที่มีพารามิเตอร์


29) object pool ใน .NET คืออะไร?

พูลวัตถุคือคอนเทนเนอร์ที่มีวัตถุพร้อมที่จะใช้งาน ติดตามวัตถุที่กำลังใช้งานอยู่ จำนวนวัตถุทั้งหมดในพูล ซึ่งจะช่วยลดค่าใช้จ่ายในการสร้างและสร้างออบเจ็กต์ใหม่


30) แสดงรายการข้อยกเว้นประเภทที่ใช้กันทั่วไปใน .net

ArgumentException, ArgumentNullException, ArgumentOutOfRangeException, ArithmeticException, DivideByZeroException, OverflowException, IndexOutOfRangeException, InvalidCastException, ไม่ถูกต้องOperationException, IOEndOfStreamException, NullReferenceException, OutOfMemoryException, StackOverflowException ฯลฯ


31) ข้อยกเว้นแบบกำหนดเองคืออะไร

บางครั้งมีข้อผิดพลาดบางอย่างที่ต้องได้รับการจัดการตามความต้องการของผู้ใช้ มีการใช้ข้อยกเว้นแบบกำหนดเองสำหรับรายการเหล่านั้น และใช้ข้อยกเว้นที่กำหนดไว้


32) ผู้แทนคืออะไร?

ผู้รับมอบสิทธิ์เหมือนกันคือตัวชี้ฟังก์ชัน C++แต่ข้อแตกต่างเพียงอย่างเดียวคือเป็นประเภทที่ปลอดภัย ไม่เหมือนพอยน์เตอร์ฟังก์ชัน จำเป็นต้องมีผู้รับมอบสิทธิ์เนื่องจากสามารถใช้เพื่อเขียนฟังก์ชันที่ปลอดภัยสำหรับประเภททั่วไปได้มากขึ้น


33) คุณจะสืบทอดคลาสไปยังคลาสอื่นใน C# ได้อย่างไร?

เครื่องหมายโคลอนใช้เป็นตัวดำเนินการสืบทอดใน C# เพียงใส่เครื่องหมายโคลอนแล้วตามด้วยชื่อคลาส

public class DerivedClass : BaseClass

34) คลาสพื้นฐานใน .net คืออะไร ซึ่งคลาสทั้งหมดได้มาจากอะไร

System.Object

35) อะไรคือความแตกต่างระหว่างการเอาชนะวิธีการและการโอเวอร์โหลดวิธีการ?

ในการแทนที่เมธอด เราเปลี่ยนคำจำกัดความของเมธอดในคลาสที่ได้รับซึ่งเปลี่ยนพฤติกรรมของเมธอด วิธีการโอเวอร์โหลดคือการสร้างวิธีการที่มีชื่อเดียวกันภายในคลาสเดียวกันซึ่งมีลายเซ็นต่างกัน


36) วิธีการต่างๆ ที่สามารถโอเวอร์โหลดได้มีอะไรบ้าง?

วิธีการสามารถโอเวอร์โหลดได้โดยใช้ประเภทข้อมูลที่แตกต่างกันสำหรับพารามิเตอร์ ลำดับของพารามิเตอร์ที่แตกต่างกัน และจำนวนพารามิเตอร์ที่แตกต่างกัน


37) เหตุใดคุณจึงไม่สามารถระบุตัวแก้ไขการเข้าถึงสำหรับวิธีการภายในอินเทอร์เฟซได้

ในอินเทอร์เฟซ เรามีวิธีการเสมือนที่ไม่มีคำจำกัดความของวิธีการ วิธีการทั้งหมดมีไว้เพื่อแทนที่ในคลาสที่ได้รับ นั่นเป็นเหตุผลที่พวกเขาทั้งหมดเปิดเผยต่อสาธารณะ


38) เราจะตั้งค่าคลาสให้สืบทอดได้อย่างไร แต่ป้องกันไม่ให้เมธอดถูกแทนที่?

ประกาศชั้นเรียนเป็นแบบสาธารณะและปิดผนึกวิธีการไว้เพื่อป้องกันไม่ให้ถูกแทนที่


39) จะเกิดอะไรขึ้นหากอินเทอร์เฟซที่สืบทอดมามีชื่อวิธีการขัดแย้งกัน?

การนำไปใช้ขึ้นอยู่กับคุณ เนื่องจากวิธีการนั้นอยู่ภายในคลาสของคุณเอง อาจมีปัญหาเกิดขึ้นได้เมื่อวิธีการจากอินเทอร์เฟซที่แตกต่างกันคาดหวังข้อมูลที่แตกต่างกัน แต่เท่าที่คอมไพเลอร์ใส่ใจ คุณก็โอเค


40) อะไรคือความแตกต่างระหว่างโครงสร้างและคลาส?

โครงสร้างเป็นตัวแปรประเภทค่า และคลาสเป็นประเภทอ้างอิง โครงสร้างที่จัดเก็บไว้ในสแต็กทำให้เกิดค่าใช้จ่ายเพิ่มเติมแต่สามารถเรียกค้นได้เร็วกว่า ไม่สามารถสืบทอดโครงสร้างได้


41) จะใช้ประเภท nullable ใน .Net ได้อย่างไร

ประเภทค่าอาจใช้ค่าปกติหรือค่าว่างก็ได้ ประเภทดังกล่าวเรียกว่าประเภทที่เป็นโมฆะ

Int? someID = null;
If(someID.HasVAlue)
{
}

42) เราจะสร้างอาร์เรย์ด้วยค่าที่ไม่ใช่ค่าเริ่มต้นได้อย่างไร?

เราสามารถสร้างอาร์เรย์ด้วยค่าที่ไม่ใช่ค่าเริ่มต้นโดยใช้ Enumerable.Repeat


43) ความแตกต่างระหว่างตัวดำเนินการ “is” และ “as” ใน c# คืออะไร?

ตัวดำเนินการ “is” ใช้เพื่อตรวจสอบความเข้ากันได้ของอ็อบเจ็กต์กับประเภทที่กำหนด และส่งคืนผลลัพธ์เป็นค่าบูลีน

ตัวดำเนินการ “as” ใช้ในการแปลงวัตถุให้เป็นประเภทหรือคลาส


44) ผู้รับมอบสิทธิ์แบบหลายผู้รับคืออะไร?

ผู้รับมอบสิทธิ์ที่มีตัวจัดการหลายตัวถูกกำหนดให้เรียกว่าผู้รับมอบสิทธิ์แบบหลายผู้รับ ตัวจัดการแต่ละตัวถูกกำหนดให้กับวิธีการ


45) ตัวสร้างดัชนีใน C# .NET คืออะไร?

ตัวทำดัชนีเป็นที่รู้จักกันว่าฉลาด อาร์เรย์ใน C#- ช่วยให้อินสแตนซ์ของคลาสได้รับการจัดทำดัชนีในลักษณะเดียวกับอาร์เรย์

เช่น:

public int this[int index]    // Indexer declaration

46) อะไรคือความแตกต่างระหว่าง "throw" และ "throw ex" ใน .NET?

คำสั่ง "Throw" จะรักษาสแต็กข้อผิดพลาดดั้งเดิม ในขณะที่ "throw ex" มีการติดตามสแต็กจากจุดโยน ขอแนะนำให้ใช้ "throw" เสมอ เนื่องจากจะให้ข้อมูลข้อผิดพลาดที่แม่นยำยิ่งขึ้น


47) คุณลักษณะ C# คืออะไรและมีความสำคัญอย่างไร

C# ช่วยให้นักพัฒนามีวิธีในการกำหนดแท็กที่ประกาศบนเอนทิตีบางอย่าง เช่น คลาส วิธีการ ฯลฯ เรียกว่าแอตทริบิวต์ ข้อมูลของแอตทริบิวต์สามารถดึงข้อมูลได้ที่รันไทม์โดยใช้ Reflection


48) จะใช้รูปแบบการออกแบบซิงเกิลตันใน C # ได้อย่างไร?

ในรูปแบบซิงเกิลตัน คลาสสามารถมีได้เพียงอินสแตนซ์เดียวและจัดให้มีจุดเข้าใช้งานทั่วโลก

เช่น:

Public sealed class Singleton
{
Private static readonly Singleton _instance = new Singleton();
}

49) อะไรคือความแตกต่างระหว่างไดเร็กคาสต์และ ctype?

DirectCast ใช้ในการแปลงประเภทของวัตถุที่ต้องการประเภทรันไทม์ให้เหมือนกับประเภทที่ระบุใน DirectCast

Ctype ใช้สำหรับการแปลงซึ่งมีการกำหนดการแปลงระหว่างนิพจน์และประเภท


50) รหัส C# ได้รับการจัดการหรือไม่มีการจัดการหรือไม่

C# ได้รับการจัดการโค้ดเนื่องจากรันไทม์ภาษาทั่วไปสามารถคอมไพล์โค้ด C# เป็นภาษาระดับกลางได้


51) แอปพลิเคชันคอนโซลคืออะไร?

แอปพลิเคชันคอนโซลคือแอปพลิเคชันที่สามารถเรียกใช้ในพร้อมท์คำสั่งได้ Windows- สำหรับอย่างใดอย่างหนึ่ง ผู้เริ่มต้นใช้งาน .Netการสร้างแอปพลิเคชันคอนโซลถือเป็นขั้นตอนแรกในการเริ่มต้น


52) ยกตัวอย่างการลบองค์ประกอบออกจากคิว

วิธีการ dequeue ใช้เพื่อลบองค์ประกอบออกจากคิว

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args)
  {
   Queue qt = new Queue();
   qt.Enqueue(1);
   qt.Enqueue(2);
   qt.Enqueue(3);

   foreach (Object obj in qt)
   {
    Console.WriteLine(obj);
   }
    Console.WriteLine(); Console.WriteLine();
    Console.WriteLine("The number of elements in the Queue " + qt.Count);
    Console.WriteLine("Does the Queue contain " + qt.Contains(3));
    Console.ReadKey();
   }
 }
}

คำถามสัมภาษณ์เหล่านี้จะช่วยในวีว่าของคุณ (วาจา)