[C#] 람다식으로 데이타 처리 와 LINQ로 데이타 처리 비교~
class Profile
{
public string Name { get; set; }
public int Height { get; set; }
}
class Program
{
static void Main(string[] args)
{
Profile[] arrProfile =
{
new Profile(){Name = "정우성", Height=186},
new Profile(){Name = "김태희", Height=158},
new Profile(){Name = "고현정", Height=172},
new Profile(){Name = "이문세", Height=178},
new Profile(){Name = "하하", Height=171}
};
var profiles = arrProfile.Where(profile => profile.Height < 175).
OrderBy(profile => profile.
Height).Select(profile => new
{
Name = profile.Name,
InchHeight = profile.Height * 0.393
}
);
// 람다식도 전보단 간단하고 읽기 좋긴 하지만 LINQ 가 훨씬 낫다!!!!
// 데이타를 다루는 데서는 가독성 및 작성에서 GOOD
// 하지만 간단하게 평균을 구한다던지 그런건 역시 람다식이 편하다.. ㅎ
foreach (var profile in profiles)
Console.WriteLine("{0}, {1}", profile.Name, profile.InchHeight);
}
}
}
------------------------------------------------------------------------------------------------
class Profile
{
public string Name { get; set; }
public int Height { get; set; }
}
class Program
{
static void Main(string[] args)
{
Profile[] arrProfile =
{
new Profile(){Name = "정우성", Height=186},
new Profile(){Name = "김태희", Height=158},
new Profile(){Name = "고현정", Height=172},
new Profile(){Name = "이문세", Height=178},
new Profile(){Name = "하하", Height=171}
};
var heightStat = from profile in arrProfile
group profile by profile.Height < 175 into g
select new
{
Group = g.Key == true ? "175미만" : "175이상",
Count = g.Count(),
Max = g.Max(profile => profile.Height),
Min = g.Min(profile => profile.Height),
Average = g.Average(profile => profile.Height)
};
foreach (var stat in heightStat)
{
Console.Write("{0} - Count:{1}, Max{2} ", stat.Group, stat.Count, stat.Max);
Console.WriteLine(" Min :{0}, Average : {1}", stat.Min, stat.Average);
}
}
}
}
// 말도 안되게 간단하다...ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
// 쉽고 재밋다는것 .
결과는~
// 중요한건 LINQ 랑 람다식이랑 둘이 조합해서 잘 쓰면 옛날방식 코딩은 잊어도 될거 같다..
아닌가? ㅋㅋ
이번장에서 중요한 구문은 LINQ 와 람다식의 조합인 아래구문이 중요~
모든 예제와 지식은 '뇌를 자극하는 C# 4.0' 에서~ 왔음을 알립니다
class Profile
{
public string Name { get; set; }
public int Height { get; set; }
}
class Program
{
static void Main(string[] args)
{
Profile[] arrProfile =
{
new Profile(){Name = "정우성", Height=186},
new Profile(){Name = "김태희", Height=158},
new Profile(){Name = "고현정", Height=172},
new Profile(){Name = "이문세", Height=178},
new Profile(){Name = "하하", Height=171}
};
var heightStat = from profile in arrProfile
group profile by profile.Height < 175 into g
select new
{
Group = g.Key == true ? "175미만" : "175이상",
Count = g.Count(),
Max = g.Max(profile => profile.Height),
Min = g.Min(profile => profile.Height),
Average = g.Average(profile => profile.Height)
};
foreach (var stat in heightStat)
{
Console.Write("{0} - Count:{1}, Max{2} ", stat.Group, stat.Count, stat.Max);
Console.WriteLine(" Min :{0}, Average : {1}", stat.Min, stat.Average);
}
}
}
}
// 말도 안되게 간단하다...ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
// 쉽고 재밋다는것 .
결과는~
// 중요한건 LINQ 랑 람다식이랑 둘이 조합해서 잘 쓰면 옛날방식 코딩은 잊어도 될거 같다..
아닌가? ㅋㅋ
이번장에서 중요한 구문은 LINQ 와 람다식의 조합인 아래구문이 중요~
모든 예제와 지식은 '뇌를 자극하는 C# 4.0' 에서~ 왔음을 알립니다
댓글
댓글 쓰기