이 질문에 대한 답을 검색할 때 I& # 39 를 활용한 haven& # 39, t, ve 실행하십시오 유사물 수준들과 LINQ 하지만 난 그들을 완전히 이해할 수 있었습니다. (및 카타시안 구현하십시오 아니하시더라) 으로, I& # 39 m not 익숙하게 진행합니다. 기본적으로 어떤 로만스였나 싶다.
if (myList.Contains(myString))
string element = myList.ElementAt(myList.IndexOf(myString));
그러니까말이야 왜 작동하지 않습니다.
그래도 난 어떻게 이런 문제를 해결하기 위해 아무런 단서를, ll, 하지만 난 그림 I& # 39 로 비슷한 질문을 내거냐 제안됩니다 LINQ 사용할 수밖에 없다. # 39 의 경우 여기에 있다는 말하였노라 that& I& # 39 와 같은 경우, d 의 답변자 다는일은 설명하기 위해 사용하는 LINQ 그 예 (말한 것처럼, 나는 내 시간을 함께 C #, # 39 이 객체에는 haven& t 괴롭혔다). 미리 감사합니다 보세요들 (및 슈퍼 gals?).
편집: I have come up with a 솔루션, 그냥 목록에 포함되어 있는지, 현재 요소점 반복하고 같은 문자열 및 문자열으로 설정한 후 현재 요소. # 39 m 보다 효율적인 방법이 있을 수 있지만 아직 i&, 혹시 이 것보다?
string myString = "bla";
string element = "";
for (int i = 0; i < myList.Count; i++)
{
if (myList[i].Contains(myString))
element = myList[i];
}
여기에 Linq 사용할 수 있어야 합니다.
var matchingvalues = myList
.Where(stringToCheck => stringToCheck.Contains(myString));
첫 번째로 일치하는 경우 단순히 반품해야 강조표시할 항목:
var match = myList
.FirstOrDefault(stringToCheck => stringToCheck.Contains(myString));
if(match != null)
//Do stuff
기본 그 답을 찾을 수 있습니다. 루프 확인하고 필요한 모든 요소를 지정한 문자열을 반복할 수 있습니다. 따라서 let& # 39 의 말하도다 코드:
foreach(string item in myList)
{
if(item.Contains(myString))
return item;
}
하지만 이 avamer 간결한, 코드:
mylist.Where(x => x.Contains(myString)).FirstOrDefault();
여기서 x 는 매개변수입니다 " item", 같은 역할을 한다. 위 코드입니다.
스케쳐내 문장열 목록이 들어 구체화하십시오:
var newList = myList.Where(x => x.Contains(myString)).ToList();
또 다른 옵션은 Linq 퍼스트러더포트 사용할 수
var element = myList.Where(x => x.Contains(myString)).FirstOrDefault();
적용부 있다는 점을 들어 '방법' 대 / 소문자를 구분합니다.
string element = myList.FirstOrDefault(s => s.Contains(myString));
이 포함된 '또는' 미스트링 반환되므로 문자열의 첫번째 요소 'null' 만약 그러한 요소가 발견된다.
이 경우, ',' all you need is 인덱스화하여 list. List< T> class& # 39 의 '핀디네스' 방법:
int index = myList.FindIndex(s => s.Contains(myString));
그러면 이 반품하십시오 주먹을 들어 있는 요소를 substring '또는' - ',' 색인입니다 미스트링 경우 그러한 요소가 발견된다.
여기에 대답을 잘 사용하고 있지만, 많은 사용하여 다음과 같이 간단한 한 , 존재합니다.
foreach (var setting in FullList)
{
if(cleanList.Exists(x => x.ProcedureName == setting.ProcedureName))
setting.IsActive = true; // do you business logic here
else
setting.IsActive = false;
updateList.Add(setting);
}
이 같은 일이 있으며, 협력했습니다 그땅은 가져다줄래요 사용할 수 있어야 합니다.
var valuesToMatch = yourList.Where(stringCheck => stringCheck.Contains(myString));
이 같은 일이 따져볼 필요가 있는 경우 또는 doesn& # 39, t match).
var valuesToMatch = yourList.Where(stringCheck => !stringCheck.Contains(myString));
Keep it simple 수 있습니다.
foreach(string item in myList)//Iterate through each item.
{
if(item.Contains("Search Term")//True if the item contains search pattern.
{
return item;//Return the matched item.
}
}
이를 통해 사용 또는 for 루프.
for (int iterator = 0; iterator < myList.Count; iterator++)
{
if (myList[iterator].Contains("String Pattern"))
{
return myList[iterator];
}
}
사용할 수 있습니다.
var match=myList.Where(item=>item.Contains("Required String"));
foreach(var i in match)
{
//do something with the matched items
}
LINQ, query" " 기능을 제공합니다. 모든 데이터 수집. 같은 문법을 사용할 수 있는 데이터베이스 쿼리 (일부, 위치, etc) 를 컬렉션 (collection (목록) 이 문자열).
그럼 당신은 같은 곳에 가야 하고, 특정 항목을 " 목록에서 충족합니다 condition".
여기서 사용하고 있는 람다 expression" ";
간단히 말해 람다 표현식은 같은 일이 (입력입니다 매개변수입니다 = >. 반환 값)
따라서, 이 " 매개변수입니다 item" " 되돌려줍니다 이트마리콘테인스 (", 필요한 string") ";; . 그렇게 되면 되돌려줍니다 항목이 포함되어 있으며 그에 따라 문자열이어야 심해지기 때문에 목록에서 선택한 달성됨 조건.