IMO วิธีที่ดีที่สุดในการตรวจสอบว่าอาร์เรย์มีค่าที่กำหนดคือการใช้System.Collections.Generic.IList<T>.Contains(T item)
วิธีการดังต่อไปนี้:
((IList<string>)stringArray).Contains(value)
ตัวอย่างโค้ดแบบสมบูรณ์:
string[] stringArray = { "text1", "text2", "text3", "text4" };
string value = "text3";
if (((IList<string>)stringArray).Contains(value)) Console.WriteLine("The array contains "+value);
else Console.WriteLine("The given string was not found in array.");
T[]
อาร์เรย์ใช้วิธีสองสามอย่างของList<T>
ส่วนตัวเช่นนับและประกอบด้วย เนื่องจากเป็นการใช้งานที่ชัดเจน (ส่วนตัว) คุณจะไม่สามารถใช้วิธีการเหล่านี้ได้หากไม่ส่งอาร์เรย์ก่อน สิ่งนี้ใช้ไม่ได้กับสตริงเท่านั้น - คุณสามารถใช้เคล็ดลับนี้เพื่อตรวจสอบว่าอาร์เรย์ประเภทใด ๆ มีองค์ประกอบใด ๆ หรือไม่ตราบใดที่องค์ประกอบของคลาสนั้นใช้ IComparable
โปรดทราบว่าIList<T>
วิธีการทั้งหมดไม่ทำงานด้วยวิธีนี้ การพยายามใช้IList<T>
วิธีเพิ่มในอาร์เรย์จะล้มเหลว