Saat mencari jawaban untuk pertanyaan ini, saya telah menemukan yang serupa menggunakan LINQ tapi saya belum bisa sepenuhnya memahaminya (dan dengan demikian, mengimplementasikannya), karena saya tidak terbiasa dengannya. Yang saya ingin, pada dasarnya, adalah ini:
- Periksa apakah ada elemen daftar yang berisi string tertentu.
- Jika ya, dapatkan elemen itu.
Sejujurnya aku tidak tahu bagaimana aku akan melakukan itu. Yang bisa saya pikirkan adalah ini (tidak berfungsi, tentu saja):
if (myList.Contains(myString))
string element = myList.ElementAt(myList.IndexOf(myString));
Saya tahu MENGAPA tidak berfungsi:
myList.Contains()
tidak kembalitrue
, karena akan memeriksa apakah seluruh elemen daftar cocok dengan string yang saya tentukan.myList.IndexOf()
tidak akan menemukan kejadian, karena, seperti halnya lagi, itu akan memeriksa elemen yang cocok dengan string.
Namun, saya tidak tahu bagaimana menyelesaikan masalah ini, tetapi saya pikir saya harus menggunakan LINQ seperti yang disarankan dalam pertanyaan serupa dengan saya. Yang sedang berkata, jika itu yang terjadi di sini, saya ingin penjawab untuk menjelaskan kepada saya penggunaan LINQ dalam contoh mereka (seperti yang saya katakan, saya belum pernah repot-repot dengan waktu saya dengan C #). Terima kasih sebelumnya kawan (dan cewek?).
EDIT: Saya telah menemukan solusi; cukup loop melalui daftar, periksa apakah elemen saat ini berisi string dan kemudian setel string yang sama dengan elemen saat ini. Saya bertanya-tanya, apakah ada cara yang lebih efisien dari ini?
string myString = "bla";
string element = "";
for (int i = 0; i < myList.Count; i++)
{
if (myList[i].Contains(myString))
element = myList[i];
}
myString
, dalam loop Anda saat ini, Anda akan mendapatkan elemen terakhir. Itu tergantung pada Anda jika Anda ingin menemukan yang pertama atau terakhir, jika Anda hanya ingin menemukan yang pertama, maka pecahkan loop setelah menemukan item.