람다 식을 처음 사용하고 문법을 활용하여 컬렉션의 한 속성 값을 설정하고자합니다 컬렉션람다 식 - 컬렉션의 다른 속성 값을 기반으로 개체 컬렉션에서 하나의 속성 값을 설정합니다.
다른 값에 기초하여 일반적으로 I 루프를 수행 할 것이다 :
class Item
{
public string Name { get; set; }
public string Value { get; set; }
}
void Run()
{
Item item1 = new Item { Name = "name1" };
Item item2 = new Item { Name = "name2" };
Item item3 = new Item { Name = "name3" };
Collection<Item> items = new Collection<Item>() { item1, item2, item3 };
// This is what I want to simplify.
for (int i = 0; i < items.Count; i++)
{
if (items[i].Name == "name2")
{
// Set the value.
items[i].Value = "value2";
}
}
}
약간의 수정 : it.value = "value2"... –
아름답습니다. 루프를 돌면 안돼? –
@Michael Rut, 루프가 ForEach 메서드보다 잘 읽지 만 의견의 문제입니다. 나는 Tomas가 그의 대답에서 행동의 명확성에 관해 말한 것에 동의한다. 그러나 그는 루프를 추상화하는 방법을 보여주었습니다 (분명히 루프가 생기지 만 명시 적으로 코드화할지 여부는 분명합니다). –