c# - Strong-type new object after LINQ select statement -


this not critical concept me wondering if strong-type new object after linq select statement, rather make anonymous type, in c#. here sample, defunct of course speaks concept:

public class displayaddress { public int addressid; public string shortaddress; }  list<displayaddress> shortaddresses =    (from la in longaddresses     join ca in customeraddresses       on la.addressid equals ca.addressid     ca.customerid == selectedcustomer   select new { new displayaddress() {addressid = la.addressid, shortaddress = la.line1 + " " + la.city + " " + la.state}}).tolist<displayaddress>(); 

absolutely, can use expression in select, including 1 creates new object of type defined. need removing outer new:

select new displayaddress {     addressid = la.addressid ,   shortaddress = la.line1 + " " + la.city + " " + la.state }).tolist(); 

note anonymous types typed well. in other words, if do

select new {     addressid = la.addressid ,   shortaddress = la.line1 + " " + la.city + " " + la.state }).tolist(); 

your anonymous type have 2 strongly-typed fields called addressid , shortaddress. difference need consume anonymous objects in context create them in order preserve strong typing. in other words, not able pass results of anonymous select non-generic function without using dynamic, object, etc.


Comments

Popular posts from this blog

javascript - Slick Slider width recalculation -

jsf - PrimeFaces Datatable - What is f:facet actually doing? -

angular2 services - Angular 2 RC 4 Http post not firing -