List에서 특정 요소를 가진 객체를 반환하기.
Test용 Class
class TestItem
{
public string Name { get; set; }
public int Level { get; set; }
public TestItem(string name, int level)
{
Name = name;
Level = level;
}
}
이 리스트에서 특정 Name을 가진 아이템 반환.
List<TestItem> list = new List<TestItem>();
for (int i = 0; i < 10; i++)
{
var ti = new TestItem($"test{i}", i);
list.Add(ti);
}
List에 아이템 10개 추가.
var ti2 = list.FirstOrDefault(item => item.Name == "test4") ?? new TestItem("", 0);
Console.WriteLine(ti2.Name + "\n\n");
FirstOrDefault를 이용해서 특정 요소를 가진 아이템 반환.
FirstOrDefault 해당 되는 아이템이 없을 경우 null을 반환하는데 ??를 사용해서
null일 경우 특정 객체를 반환하도록 할 수 있다.
TestItem 에서 Name만 List로 반환하기.
var tiNameList = list.Select(item => item.Name).ToList() ?? new List<string>();
foreach (var item in tiNameList)
{
Console.WriteLine(item);
}
Select 를 이용해서 TestItem의 Name만 리스트로 반환했다.
Select도 null을 반환할 수 있으므로 ?? new List<string>() 추가해서 null일 경우 빈 리스트를 반환하도록 함.