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 |