Property를 LINQ방식으로 표현
경험
- 클래스에 Property를 선언하고 사용하다 보면 Linq를 자주 사용하게 됩니다. Property를 Linq방식으로 표현하는 다양한 방식을 알아보겠습니다.
1. Class에 Property 선언 방법
1.1 기본 Property 선언
public class Student
{
private string _name { get; set; }
public string Name
{
get
{
return _name;
}
set
{
_name = value;
}
}
}
1.2 Linq Style 선언 1
public class Student
{
private string _name { get; set; }
public string Name
{
get => _name;
set => _name = value;
}
}
1.3. Linq Style 선언2 (Get / Set 단일 사용 시)
public class Student
{
private string _name { get; set; }
// Get만 사용 할 경우
public string Name => _name;
// Set만 사용 할 경우
public string Name => _name = value;
}
2 Linq 활용
public void Run()
{
List<PersonalInfo> pList = CreateInfo();
//일반적으로 사용하는 방법
//만약 수원사는 사람의 정보를 얻고 싶다면?
var pInfo = pList.Where(f => f.City.Equals("수원")).FirstOrDefault();
//FirstOrDefault() => 조건에 해당하는 1개만 찾는다 만약 없으면 null
if (pInfo != null)
Console.WriteLine($"{pInfo.Name} : {pInfo.Age} , {pInfo.City}");
}
public List<PersonalInfo> CreateInfo()
{
PersonalInfo p1 = new PersonalInfo() { Name = "춘남", Age = 33, City = "수원" };
PersonalInfo p2 = new PersonalInfo() { Name = "추남", Age = 33, City = "군포" };
return new List<PersonalInfo>() { p1, p2 };
}
public class PersonalInfo
{
public string Name { get; set; }
public int Age { get; set; }
public string City { get; set; }
}
결과
춘남 : 33 , 수원