본문 바로가기

카테고리 없음

SMART FACTORY - CompareTo/List<>/Sort / 곱하기 -1 역순정렬/무명 델리게이트

반응형
using System;
using System.Collections.Generic;

namespace ConsoleApp4
{
    class Program
    {
        class Product
        {
            public string Name { get; set; }
            public int Price { get; set; }
        }
        //static int ArraySortPrice(Product t1, Product t2)
        //{
        //   return t1.Price.CompareTo(t2.Price) * -1;  //*-1을 통해서 역순 정렬 가능!!
        //}
        static int ArraySortName(Product t1, Product t2)
        {
            return t1.Name.CompareTo(t2.Name) ;
        }
        delegate int ArraySort(Product t1, Product t2); // 델리게이트 선언

        static void Main(string[] args)
        {
            List<Product> product = new List<Product>()
            {
                new Product(){Name = "감자" ,Price = 500},
                new Product(){Name = "사과" ,Price = 700},
                new Product(){Name = "곡마" ,Price = 400},
                new Product(){Name = "배추" ,Price = 600},
                new Product(){Name = "상추" ,Price = 300},
            };

            product.Sort(delegate(Product t1, Product t2){ return t1.Price.CompareTo(t2.Price) * -1; }); //*-1을 통해서 역순 정렬 가능!!
                                                                                                         // 중요 기억하기!!!  가격으로 정렬
                                                                                                         //product.Sort(ArraySortName);//   중요 기억하기!!!  이름으로 정렬
            foreach (var item in product)
            {
                Console.WriteLine(item.Name+":"+item.Price);  
            }
        }
    }

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp4
{
    class Program
    {
        class Product
        {
            public string Name { get; set; }
            public int Price { get; set; }
        }
        static int ArraySortPrice(Product t1, Product t2)
        {
           return t1.Price.CompareTo(t2.Price) * -1;  //*-1을 통해서 역순 정렬 가능!!
        }
        static int ArraySortName(Product t1, Product t2)
        {
            return t1.Name.CompareTo(t2.Name) * -1;
        }
        delegate int ArraySort(Product t1, Product t2); // 델리게이트 선언

        static void Main(string[] args)
        {
            List<Product> product = new List<Product>()
            {
                new Product(){Name = "감자" ,Price = 500},
                new Product(){Name = "사과" ,Price = 700},
                new Product(){Name = "곡마" ,Price = 400},
                new Product(){Name = "배추" ,Price = 600},
                new Product(){Name = "상추" ,Price = 300},
            };

            product.Sort(ArraySortPrice); // 중요 기억하기!!!  가격으로 정렬
            product.Sort(ArraySortName);// 중요 기억하기!!! 이름으로 정렬
            foreach (var item in product)
            {
                Console.WriteLine(item.Name+":"+item.Price);  
            }
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp4
{
    class Program
    {
        class Product
        {
            public string Name { get; set; }
            public int Price { get; set; }
        }
        static int ArraySort(Product t1, Product t2)
        {
           return t1.Price.CompareTo(t2.Price);
        }

        static void Main(string[] args)
        {
            List<Product> product = new List<Product>()
            {
                new Product(){Name = "감자" ,Price = 500},
                new Product(){Name = "사과" ,Price = 700},
                new Product(){Name = "곡마" ,Price =400},
                new Product(){Name = "배추" ,Price = 600},
                new Product(){Name = "상추" ,Price = 300},
            };

            product.Sort(ArraySort); // 중요 기억하기!!!
            foreach (var item in product)
            {
                Console.WriteLine(item.Name+":"+item.Price);  
            }
        }
    }
}
반응형