From: Curious on 10 Mar 2010 21:58 Given a generic list of items, when each item has some attributes such as name, age, etc. How to get a sublist of the items filtered by an attribute, (say age = 40)? I can only think of looping through each item on the list, and check to see if its age is 40. Is there more efficient way(s) to do this?
From: Mr. Arnold on 10 Mar 2010 23:08 Curious wrote: > Given a generic list of items, when each item has some attributes such > as name, age, etc. > > How to get a sublist of the items filtered by an attribute, (say age = > 40)? > > I can only think of looping through each item on the list, and check > to see if its age is 40. Is there more efficient way(s) to do this? It's called LINQ. var thelist = (from a in list.where(a => a.age == 40)select a).tolist(); http://en.wikipedia.org/wiki/Language_Integrated_Query
From: gerry on 11 Mar 2010 12:33 that's a pretty convoluted mixing of metaphors , to put it much simpler : var thelist = list.Where(a => a.age == 40); or var = from a in list where a.age==40 select a; "Mr. Arnold" <Arnold(a)Arnold.com> wrote in message news:eVgx3BNwKHA.732(a)TK2MSFTNGP06.phx.gbl... > Curious wrote: >> Given a generic list of items, when each item has some attributes such >> as name, age, etc. >> >> How to get a sublist of the items filtered by an attribute, (say age = >> 40)? >> >> I can only think of looping through each item on the list, and check >> to see if its age is 40. Is there more efficient way(s) to do this? > > It's called LINQ. > > var thelist = (from a in list.where(a => a.age == 40)select a).tolist(); > > http://en.wikipedia.org/wiki/Language_Integrated_Query
From: Mr. Arnold on 11 Mar 2010 21:35 gerry wrote: > that's a pretty convoluted mixing of metaphors , to put it much simpler : > > var thelist = list.Where(a => a.age == 40); > > or > > var = from a in list where a.age==40 select a; I don't know what you're talking about. And I don't think you know what you're talking about. Do you know anything about this? http://msdn.microsoft.com/en-us/library/bb397687.aspx (var =) I don't think that's going to work anywhere but giving a compile error. var thelist = (from a in list.where(a => a.age == 40)select a)tolist(); var list = (from a in accounts1.OrderBy(b => b.Lastname).Where(c => c.Age == 40)).tolist(); Do you not see the power of the expression? You should have been posting to the OP and not me. The next time you get in someone's face with a bunch of nonsense you had better be correct yourself.
From: gerry on 12 Mar 2010 17:38 "Mr. Arnold" <Arnold(a)Arnold.com> wrote in message news:eI9XLzYwKHA.5940(a)TK2MSFTNGP02.phx.gbl... > gerry wrote: >> that's a pretty convoluted mixing of metaphors , to put it much simpler : >> >> var thelist = list.Where(a => a.age == 40); >> >> or >> >> var = from a in list where a.age==40 select a; > > I don't know what you're talking about. And I don't think you know what > you're talking about. huh - other than the 'var =' typo - what's the problem ? > > Do you know anything about this? > > http://msdn.microsoft.com/en-us/library/bb397687.aspx > sure I use it all the time > (var =) I don't think that's going to work anywhere but giving a compile > error. if we are going to get typographically picky here - did you try to compile the original example you gave ? Even the new one added below here won't compile as is. > > var thelist = (from a in list.where(a => a.age == 40)select a)tolist(); > > var list = (from a in accounts1.OrderBy(b => b.Lastname).Where(c => c.Age > == 40)).tolist(); > > Do you not see the power of the expression? Sure I do - I also see the unnecessary complexity, jumble and innefficiency - do you ? Personally I try not to mix linq query syntax with & lambda expressions whenever possible - KISS. In your original example : ( note the corrections - the original code would not compile ! ) var thelist = (from a in list.Where(a => a.age == 40)select a).ToList(); the segment (from a in list.Where(a => a.age == 40)select a is functionally equivalent to both from a in list where a.age == 40 select a and list.Where(a => a.age == 40) Depending on the usage .Tolist() could be unnecessary, if for some reason you really need it then list.Where(a => a.age == 40).ToList() will do it, by responding that either var thelist = list.Where(a => a.age == 40); or var thelist = from a list where age == 40 select a; are both simpler ( less convoluted ) than var thelist = (from a in list.Where(a => a.age == 40)select a)ToList(); is just stating the obvious similarly with the 2nd newly added example , either var list = from a in accounts1 where a.Age == 40 orderby a.Lastname select a; or var list = accounts1.Where(a => a.Age == 40).OrderBy(a => a.Lastname); are both perferable to var list = (from a in accounts1.OrderBy(b => b.Lastname).Where(c => c.Age == 40)).tolist(); both in readablilty and efficiency. > > You should have been posting to the OP and not me. > I was replying to the thread, not to you. > The next time you get in someone's face with a bunch of nonsense you had > better be correct yourself. in whose face how and with what nonsense ? as noted above - your examples were/are incorrect as well. just out of curiosity - why did you change your original link from http://en.wikipedia.org/wiki/Language_Integrated_Query to http://msdn.microsoft.com/en-us/library/bb397687.aspx and add the second linq example as if it was part of your original response ?
|
Next
|
Last
Pages: 1 2 3 Prev: DBTYP.NET Studio 2010 - Database Comparison Suite Released Next: Multi-threading question |