C#에서 리스트, 배열에서 특정 값을 확인하거나 null 체크를 할 수 있는 다양한 함수들을 제공하고 있다.
- Any
- All
- Exist
Any
- 리스트, 배열에 요소가 하나 이상 있는지 확인한다.
- 요소가 있다면 True, 요소가 없으면 False 반환한다.
- 주로, 리스트가 null인지 확인하는데 사용한다.
[예제]
using ConsoleApp3;
using System;
using System.Linq;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
First.FirstAndFirstDefault();
AnyAndAllExists.Any();
// AnyAndAllExists.All();
// AnyAndAllExists.Exists();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp3
{
public static class AnyAndAllExists
{
public static List<string> testAnyTrue = new List<string> { "aa", "ba", "ca", "da", "ea" };
public static List<string> testAnyFalse = new List<string>();
public static List<ObjectTest> objectTest = new List<ObjectTest>();
public class ObjectTest
{
public int ID;
public string PW;
}
public static void Any()
{
//1. Any : 요소의 존재 여부 확인
Console.WriteLine(testAnyTrue.Any()); // true 반환
Console.WriteLine(testAnyFalse.Any()); //false 반환
if (objectTest.Any()) // 리스트 객체 존재 여부 확인
{
Console.WriteLine(objectTest.FirstOrDefault().ID); //객체에 값 할당 안되있을 경우 예외 발생
}
else
{
Console.WriteLine("objectTest = False");
}
}
}
}
[결과]
→ 요소가 비어있지 않으면 ture반환, 비어있으면 false 반환을 확인할 수 있다.
All
- 모든 요소의 조건을 확인한다.
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp3
{
public static class AnyAndAllExists
{
public static List<string> testAnyTrue = new List<string> { "aa", "ba", "ca", "da", "ea" };
public static List<string> testAnyFalse = new List<string>();
public static List<ObjectTest> objectTest = new List<ObjectTest>();
public class ObjectTest
{
public int ID;
public string PW;
}
public static void All()
{
//2. All : 요소의 모든 요소가 조건을 만족 하는지 여부
Console.WriteLine(testAnyTrue.All(t => t.Contains("a"))); //모든 요소가 a를 포함하는가 /true
Console.WriteLine(testAnyTrue.All(t => t.Contains("e"))); //모든 요소가 e를 포함하는가 /false
}
}
}
[결과]
→ Cantains(포함 여부 확인)으로 모든 요소에서 포함하는지 체크하여 반환한다.
→ 모든 요소를 체크해서 반환하기 때문에 하나라도 포함되지 않으면 False를 반환한다.
Exists
- 특정 조건을 만족하는 요소가 있는지 확인
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp3
{
public static class AnyAndAllExists
{
public static List<string> testAnyTrue = new List<string> { "aa", "ba", "ca", "da", "ea" };
public static List<string> testAnyFalse = new List<string>();
public static List<ObjectTest> objectTest = new List<ObjectTest>();
public class ObjectTest
{
public int ID;
public static void Exists()
{
objectTest.Add(new ObjectTest { ID =3 , PW = null});
objectTest.Add(new ObjectTest { ID = 10, PW = "test" });
//3. Exists : 특정 조건을 만족하는 요소의 존재 여부 확인
Console.WriteLine(objectTest.Exists(t => string.IsNullOrEmpty(t.PW))); // PW가 null인 요소가 있는가 /true
Console.WriteLine(objectTest.Exists(t => t.ID > 5)); // objectTest ID 객체가 5보다 큰 요소가 있는가 / true
}
}
}
[결과]
→ 조건을 사용해서 해당 조건을 만족하는 요소가 리스트 내 존재하는지 확인할 수 있다.
300x250
'Languague > C#' 카테고리의 다른 글
[C#] LINQ First, FirstOfDefault 사용법 첫번째 요소 가져오기 (1) | 2024.03.12 |
---|---|
[C#/ JSON] JSON 데이터 다루기 JSON 파싱 (직렬화(Serialization),역직렬화(Deserialization)) (0) | 2024.03.11 |
[C#] 다른 타입 객체 동적 초기화 하기 (0) | 2023.11.03 |
[C#] .NET MSSql DB 연동, DataReader 데이터 검색 (0) | 2021.06.26 |
[C#] .NET UNit 테스트 방법 (NUnit) (0) | 2021.06.25 |