C# Linq First와 FirstOrDefault의 차이점
2274 단어 C#
Enumerable.First 메서드
시퀀스의 첫 번째 요소를 반환합니다.
Enumerable.FirstOrDefault 메서드
서열의 첫 번째 요소 되돌리기;시퀀스에 요소가 없으면 기본값을 반환합니다.
참고: 사용 시 객체가 반환된 경우 FirstOrDefault를 사용하고 반환된 객체를 공백으로 두는 것이 좋습니다.
1. FirstOrDefault
만약 검색한 데이터가 존재하지 않는다면,null로 되돌아갑니다
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
var compoundList = new List();
compoundList.Add(new CompoundType()
{
CompoundTypeID = "1",
TypeEN = "Type1"
});
compoundList.Add(new CompoundType()
{
CompoundTypeID = "2",
TypeEN = "Type2"
});
var search = compoundList.Where(d => d.CompoundTypeID == "0").FirstOrDefault(); // null
Console.WriteLine("Compound type={0}, typeen = {1}", search.CompoundTypeID, search.TypeEN); // NullException
Console.ReadKey();
}
}
public class CompoundType
{
public string CompoundTypeID { get; set; }
public string TypeEN { get; set; }
}
}
2. First
만약 조회한 데이터가 존재하지 않는다면 시스템으로 던집니다.InvalidOperationException 예외
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
var compoundList = new List();
compoundList.Add(new CompoundType()
{
CompoundTypeID = "1",
TypeEN = "Type1"
});
compoundList.Add(new CompoundType()
{
CompoundTypeID = "2",
TypeEN = "Type2"
});
var search = compoundList.Where(d => d.CompoundTypeID == "0").First(); // System.InvalidOperationExceptionan
Console.WriteLine("Compound type={0}, typeen = {1}", search.CompoundTypeID, search.TypeEN);
Console.ReadKey();
}
}
public class CompoundType
{
public string CompoundTypeID { get; set; }
public string TypeEN { get; set; }
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.