Click here to Skip to main content
15,895,799 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: LINQ "let" Pin
Rob Philpott8-Jun-16 4:12
Rob Philpott8-Jun-16 4:12 
GeneralRe: LINQ "let" Pin
Richard Deeming8-Jun-16 4:32
mveRichard Deeming8-Jun-16 4:32 
GeneralRe: LINQ "let" Pin
OriginalGriff8-Jun-16 4:35
mveOriginalGriff8-Jun-16 4:35 
GeneralRe: LINQ "let" Pin
Rob Philpott8-Jun-16 4:51
Rob Philpott8-Jun-16 4:51 
GeneralRe: LINQ "let" Pin
Richard Deeming8-Jun-16 5:17
mveRichard Deeming8-Jun-16 5:17 
GeneralRe: LINQ "let" Pin
Rob Philpott8-Jun-16 7:37
Rob Philpott8-Jun-16 7:37 
GeneralRe: LINQ "let" Pin
Marc Clifton8-Jun-16 7:59
mvaMarc Clifton8-Jun-16 7:59 
GeneralRe: LINQ "let" Pin
Richard Deeming8-Jun-16 8:40
mveRichard Deeming8-Jun-16 8:40 
The Cast<T> part isn't a problem for query syntax - you just declare the type on the variable in the from clause:
C#
from T mappedRecord in mappedRecord[typeof(T)]
...


But there's no query syntax keyword for Single, so you still have to call that as a method:
C#
T record = (from T mappedRecord in mappedRecords[typeof(T)]
            where mappedRecord.Row == row
            select mappedRecord).Single();


I think the method chaining syntax is much cleaner - especially if you use the overload of Single to eliminate the Where call:
C#
T record = mappedRecords[typeof(T)].Cast<T>().Single(r => r.Row == row);




"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer


GeneralRe: LINQ "let" Pin
90823658-Jun-16 5:28
90823658-Jun-16 5:28 
GeneralRe: LINQ "let" Pin
Sander Rossel8-Jun-16 5:51
professionalSander Rossel8-Jun-16 5:51 
GeneralRe: LINQ "let" Pin
Nicholas Marty9-Jun-16 2:53
professionalNicholas Marty9-Jun-16 2:53 
GeneralRe: LINQ "let" Pin
Sander Rossel9-Jun-16 3:43
professionalSander Rossel9-Jun-16 3:43 
GeneralRe: LINQ "let" Pin
Nicholas Marty9-Jun-16 4:40
professionalNicholas Marty9-Jun-16 4:40 
GeneralRe: LINQ "let" Pin
James Curran9-Jun-16 4:18
James Curran9-Jun-16 4:18 
GeneralRe: LINQ "let" Pin
Marc Clifton8-Jun-16 7:57
mvaMarc Clifton8-Jun-16 7:57 
GeneralRe: LINQ "let" Pin
Nish Nishant8-Jun-16 10:02
sitebuilderNish Nishant8-Jun-16 10:02 
GeneralRe: LINQ "let" Pin
Kenneth Haugland8-Jun-16 4:45
mvaKenneth Haugland8-Jun-16 4:45 
GeneralRe: LINQ "let" Pin
Sander Rossel8-Jun-16 5:44
professionalSander Rossel8-Jun-16 5:44 
GeneralRe: LINQ "let" Pin
BillWoodruff8-Jun-16 8:29
professionalBillWoodruff8-Jun-16 8:29 
GeneralRe: LINQ "let" Pin
Richard Deeming8-Jun-16 8:52
mveRichard Deeming8-Jun-16 8:52 
GeneralRe: LINQ "let" Pin
BillWoodruff8-Jun-16 12:46
professionalBillWoodruff8-Jun-16 12:46 
GeneralRe: LINQ "let" Pin
Mark Whybird8-Jun-16 21:24
Mark Whybird8-Jun-16 21:24 
GeneralRe: LINQ "let" Pin
Richard Deeming9-Jun-16 1:38
mveRichard Deeming9-Jun-16 1:38 
GeneralRe: LINQ "let" Pin
Nicholas Marty9-Jun-16 2:54
professionalNicholas Marty9-Jun-16 2:54 
GeneralRe: LINQ "let" Pin
Mark Whybird9-Jun-16 13:41
Mark Whybird9-Jun-16 13:41 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.