본문 바로가기

LINQ

(5)
Linq 에서Aggregate메서드 사용하기 데이터를 루핑을 돌아 특정 컬럼의 데이터를 스트링으로 연결할 일이 있었다 그래서 Aggregate메서드를 사용해 본다 string cities_string = cities.Aggregate(new StringBuilder(), (sb, c) => { if (0 != sb.Length) sb.Append(", "); sb.Append(c.Name); return sb; }, sb => sb.ToString());
Linq없인 못살아(group by with nested group by) 일을하다가 데이터를 Gruop by하고 또 그안에서 Group by해야하는 경우가 생겼다. 그래서 아래와 같이했다. from item in results group item by item.Category1Nm into g select new RepeaterData { ID = SummaryByGradeList.Where(d=>d.CategoryName.Contains(g.Key)).Select(d=>d.ID).FirstOrDefault(), Average = GetAbsolueValue(g.Average(d => d.Value ?? 0)), AnalysisResult = (from grade in SummaryByGradeList//결과분석 from detail in grade.SummaryByGrade..
Jquery.Linq.js 사용하기 .NET 4.0으로 웹 어플리케이션을 만들어 봤다. 간단하게 서버에서 Person이라는 객체를 Json으로 시리얼라이징해서 클라이언트에 보내준다. 클라이언트에선 그 값을 받아 linq를 사용하여 엘러먼트를 추가해 준다. $(document).ready(function () { $.ajax({ url: "WebForm1.aspx", dataType: 'json', success: function (data) { $.Enumerable.From(data).ForEach(function (t) { $("test" + t.FirstName + " ").appendTo('#test'); }); } }); }); 위의 코드에서 보면 success되었을때 기존에는 data.d로 받았지만 4.0에서는 그냥 순수 데이터..
메모리에 있는 데이터 랜덤하게 가져오기(Linq) public static class Extensions { public static T NextRandom(this IEnumerable source) { Random gen = new Random((int)DateTime.Now.Ticks); return source.Skip(gen.Next(0, source.Count() - 1) - 1).Take(1).ToArray()[0]; } public static IEnumerable Radomized(this IEnumerable source) { List Remaining = new List(source); while (Remaining.Count >= 1) { T temp = NextRandom(Remaining); Remaining.Remove(tem..
Repeater With Linq 작업을 하다가 Repeater items를 Linq로 질의하는걸 해봐서 공유하고자 한다. 아래의 코드는 리피터 안에 있는 HyperLink의 ImageUrl값에 따라 필터링된 item들을 가져오는 쿼리입니다. var temp = from item in ReviewRepeater.Items.OfType().AsEnumerable() where ((HyperLink)item.FindControl("hrefStudyIcon")).ImageUrl == _reviewButtonImageUrlselect item; 위처럼해서 링큐를 사용할수 있다. ^^ 단단한 팁