반응형
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LINQ_to_Objects의_기초
{
class Program
{
static void Main(string[] args)
{
var names = new List<string> { "Seoul", "New Delhi", "Bangkok", "London", "Paris", "Berlin","Canberra","Hong Kong" };
IEnumerable<string> Query = names.Where(s => s.Length <= 5);
foreach (var item in Query)
{
Console.WriteLine(item);
}
Console.WriteLine("=================================");
//배열 , List<T>, Dictionary<Tkey,Tvalue> -> IEnumerable<T> 인터페이스를 구현하고 있는 형이면
//Where메서드를 해당 객체를 대상으로 이용가능
var query = names.Where(s => s.Length >= 7);
foreach (var item in query)
{
Console.WriteLine(item);
}
Console.WriteLine("=================================");
//FindAll -> 의 경우는 List<T>일 경우만 사용가능
var name = names.FindAll(s => s.Length >= 7);
foreach (var item in name)
{
Console.WriteLine(item);
}
Console.WriteLine("================================");
//배열인 경우에소 FindAll 을 사용할 수 지만
string[] array = new string[] { "이준호", "이가영", "조수련", "이진표" };
var a = Array.FindAll(array, s => s.Length >= 3);
foreach (var item in a)
{
Console.WriteLine(item);
}
Console.WriteLine("================================");
//where -> select -> 반환값은 IEnumerable<string>
IEnumerable<string> vs = names.Where(s => s.Length >= 7).Select(s => s.ToLower());
foreach (var item in vs)
{
Console.WriteLine(item);
}
Console.WriteLine("================================");
var query2 = names.Select(s => s.Length);
foreach (var item in query2)
{
Console.WriteLine($"{item}");
}
}
}
}
반응형
'C#' 카테고리의 다른 글
c# 네트워크 공부 (IPAddress 클래스 / Dns클래스) (0) | 2021.01.14 |
---|---|
라디오 버튼과 그룹 박스 사용법 (0) | 2021.01.01 |
시퀀스 (0) | 2020.12.16 |
List 클래스와 람다식의 조합 (0) | 2020.12.14 |
인터페이스 개념 및 연습 C# (0) | 2020.11.18 |
Abstract 추상 클래스 /메서드 (0) | 2020.11.16 |