이 질문에 대한 답변을 검색하는 동안 LINQ를 사용하는 비슷한 질문을 겪었지만 익숙하지 않아서 완전히 이해할 수는 없었으므로 구현할 수 없었습니다. 기본적으로 내가 원하는 것은 다음과 같습니다.
- 목록의 요소에 특정 문자열이 포함되어 있는지 확인하십시오.
- 그렇다면 그 요소를 얻으십시오.
나는 솔직히 내가 그 일을 어떻게 할 것인지 모른다. 내가 생각해 낼 수있는 것은 이것입니다 (물론 작동하지 않습니다).
if (myList.Contains(myString))
string element = myList.ElementAt(myList.IndexOf(myString));
왜 작동하지 않는지 알고 있습니다.
myList.Contains()
true
목록의 전체 요소가 지정한 문자열과 일치하는지 확인하기 때문에를 반환하지 않습니다 .myList.IndexOf()
다시 발생하는 것처럼 문자열과 일치하는 요소를 검사하므로 발생을 찾지 못합니다.
여전히이 문제를 해결하는 방법에 대한 단서가 없지만 비슷한 질문에서 제안 된대로 LINQ를 사용해야한다고 생각합니다. 즉, 여기에 해당되는 경우 응답자가 LINQ를 예제에서 사용하는 방법을 설명하고 싶습니다. 미리 감사드립니다.
편집 : 나는 해결책을 생각해 냈습니다. 목록을 반복하고 현재 요소에 문자열이 포함되어 있는지 확인한 다음 문자열을 현재 요소와 동일하게 설정하십시오. 그러나 이것보다 더 효율적인 방법이 있는지 궁금합니다.
string myString = "bla";
string element = "";
for (int i = 0; i < myList.Count; i++)
{
if (myList[i].Contains(myString))
element = myList[i];
}
myString
현재 루프에는 마지막 요소가 있습니다. 첫 번째 또는 마지막을 찾으려면, 당신이 첫 번째를 찾으려면 항목을 찾은 후 루프를 끊으십시오.