LINQ
,ORM
=> SQL๋ฌธ๊ณผ๋ ๋ค๋ฅด๊ฒDB
๋ก๋ถํฐ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ํธ๋ฆฌํ๊ฒ ๊ฐ์ ธ์ด.LINQ(Language Integrated Query)
: C# ์ธ์ด์ ํตํฉ๋ ๋ฐ์ดํฐ ์ง์ ๊ธฐ๋ฅ
using System.Collections;
namespace LinqEx
{
class Member
{
public string name { get; set; }
public int age { get; set; }
}
class Program
{
static void Main(string[] args)
{
Member[] ml =
{
new Member(){name = "ํ๊ธธ๋" , age =23},
new Member(){name = "์ฒญ๊ธธ๋" , age =24},
new Member(){name = "๋ฐฑ๊ธธ๋" , age =27},
new Member(){name = "๋
น๊ธธ๋" , age =25},
new Member(){name = "๊ฒ๊ธธ๋" , age =26},
};
List<Member> list = new List<Member>();
foreach(Member m in ml)
{
if (m.age >= 25)
{
list.Add(m);
}
}
list.Sort(
(member1, member2) =>
{
return member2.age - member1.age;
}
);//์ด๋ถ๋ถ ์ดํด ํ์คํํ๊ณ ๋์ด๊ฐ๊ธฐ.
// member2์์ member1์ ๋บ๊ฐ์ด ์์์ผ๋๋ง ๋ฐ๊ฟ์ฃผ๋ฏ๋ก
// member2๊ฐ ๋ ํด๋๋ง ์์น๋ฅผ ๋ฐ๊ฟ์ค
//๋ฐ๋ผ์ ํฐ์๋ถํฐ ์์์ ์ ๋ ฌ๋๋ฏ๋ก ๋ด๋ฆผ์ฐจ์์ด๋จ.
foreach (Member m in list)
{
Console.WriteLine($"์ด๋ฆ : {m.name} ๋์ด : {m.age}");
}
// ์์ ์์
์ LINQ ํ์ฉ์.
Console.WriteLine();
Console.WriteLine("---------LINQํ์ฉ----------");
var ml2 = from member in ml
where member.age >= 25
orderby member.age
select member;
foreach (Member m in ml2)
{
Console.WriteLine($"์ด๋ฆ : {m.name} ๋์ด : {m.age}");
}
}
}
}
Output
์ด๋ฆ : ๋ฐฑ๊ธธ๋ ๋์ด : 27
์ด๋ฆ : ๊ฒ๊ธธ๋ ๋์ด : 26
์ด๋ฆ : ๋
น๊ธธ๋ ๋์ด : 25
---------LINQํ์ฉ----------
์ด๋ฆ : ๋
น๊ธธ๋ ๋์ด : 25
์ด๋ฆ : ๊ฒ๊ธธ๋ ๋์ด : 26
์ด๋ฆ : ๋ฐฑ๊ธธ๋ ๋์ด : 27
LINQ
๋ฅผ ํ์ฉํ๋ฉด ๊ธฐ์กด์ ๋ณต์กํ๋ ๋ฐ์ดํฐ ์ถ์ถ ์ฝ๋๋ ๊ฐ๋จํ๊ฒ ์์ฑํ ์ ์๋ค.
โญ๏ธโญ๏ธโญ๏ธ ๋๋ค(Lambda)์์ ์ด์ฉํ Sort() ํ์ฉ
list.Sort((member1, member2) =>{
return member2.age - member1.age;
}
);
// ํด๋น ์ฝ๋๋ ์์ ์ฝ๋์์ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ์ ํด์ฃผ๋ ํจ์
-Sort()
ํจ์๋ ๋๋ฒ์งธ ์ธ์๋ก ๋๋ค์์ ๋งค๊ฐ๋ณ์๋ก ๊ฐ์ง ์ ์์.
- ๋๋ค์์
๋ ๊ฐ์ ์์
๋ฅผ ๋น๊ตํ ๋ ์ฌ์ฉ๋จ. - ๊ฐ๋จํ๊ฒ ๋งํด์ ๋๋ค์์ ๋ฐํ๊ฐ์ ๋ฐ๋ผ ๋ ๊ฐ์ ์์น๋ฅผ ๋ฐ๊ฟ์ง ๋ง์ง๋ฅผ ๊ฒฐ์ ํ๋ค.
1. ๋๋ค์์ ๋ฐํ๊ฐ์ด "์์" ์ด๋ฉด ์์น๋ฅผ ๋ฐ๊พผ๋ค.
2. ๋๋ค์์ ๋ฐํ๊ฐ์ด "0 ํน์ ์์" ์ด๋ฉด ๊ทธ๋๋ก ๋๋ค.
'๐ป Programming Language > C#' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
41. ์ต๋ช Type (0) | 2022.04.08 |
---|---|
40. LINQ ๊ธฐ๋ณธ ๋ฌธ๋ฒ (0) | 2022.04.08 |
38. ๋๋ค์(Lambda Expression) (0) | 2022.04.08 |
37. ๋ธ๋ฆฌ๊ฒ์ดํธ๋ฅผ ํตํ ์ด๋ฒคํธ ์ฒ๋ฆฌ (0) | 2022.04.08 |
36. ์ต๋ช ๋ฉ์๋ (0) | 2022.04.08 |