C#/수업내용
03/23 Linq Find, Where, FindAll, Sort 연습
박준희
2021. 3. 23. 12:16
Program.cs
using System;
namespace Study07
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Program");
new App();
}
}
}
App.cs
using System;
using System.Collections.Generic;
using System.Linq;
namespace Study07
{
public class App
{
//생성자
public App()
{
Console.WriteLine("App");
//컬렉션 생성
List<Item> items = new List<Item>();
//Item객체 생성
Item item1 = new Item("장검");
Item item2 = new Item("단검");
Item item3 = new Item("단검");
//컬렉션 추가
items.Add(item1);
items.Add(item2);
items.Add(item3);
//컬렉션에서 item객체의 이름이 xxx인것을 찾으세요
//Linq: Find + 람다
Console.WriteLine("Find");
Item findItem = items.Find(x => x.Name == "단검");
Console.WriteLine(findItem.Name);
//만약에 같은 이름의 요소가 있다면 모두 찾아서 출력 하세요
//Linq: Where + 람다
Console.WriteLine("Where");
IEnumerable<Item> findItems = items.Where(x => x.Name == "단검");
foreach(Item item in findItems)
{
Console.WriteLine("foundItem: {0}", item.Name);
}
//FindAll
Console.WriteLine("FindAll");
List<Item> findAllItems = items.FindAll(x => x.Name == "단검");
foreach(Item item in findAllItems)
{
Console.WriteLine("foundItem: {0}", item.Name);
}
//Sort
Console.WriteLine("Sort");
foreach(Item item in items)
{
Console.WriteLine(item.Name);
}
items.Sort((x1,x2) => x1.Name.CompareTo(x2.Name));
foreach (Item item in items)
{
Console.WriteLine(item.Name);
}
}
}
}
Item.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study07
{
public class Item
{
public string Name { get; set; }
public Item(string name)
{
Name = name;
}
}
}