C#3.0 Session at TechEd2007 - Code Samples
I just presented my C#3.0 session at TechEd Orlando titled "DEV346 - Microsoft Visual C# Under the Covers: An In-Depth Look at C# 3.0". The talk introduces the new C# language features and takes a tour behind the scenes of LINQ to Objects to see how C# is used to enable creating rich new kinds of APIs.
Here are the code samples from the talk:
And here's a little in-line snippet - the results of the first demo:
using System;
using System.Collections.Generic;
using System.Linq;
class Customer
{
// C#3.0 Feature: Auto-Implemented Properties
public string CustomerID { get; set; }
public string ContactName { get; set; }
public string City { get; set; }
}
class Program
{
static void Main(string[] args)
{
List<Customer> customers = LoadCustomers();
// C#3.0 Feature: Query Expressions
var query = from c in customers
where c.City == "London"
orderby c.ContactName.Split(' ')[1]
select new { c.CustomerID, c.ContactName };
foreach (var item in query)
Console.WriteLine("{0}, {1}", item.CustomerID, item.ContactName);
}
private static List<Customer> LoadCustomers()
{
// C#3.0 Feature: 'var' - Local Variable Type Inference
// C#3.0 Feature: Collection Initializers
var customers = new List<Customer>()
{
// C#3.0 Feature: Object Initializers
new Customer { CustomerID = "ALFKI",
ContactName = "Maria Anders",
City = "Berlin"},
new Customer { CustomerID = "ANATR",
ContactName = "Ana Trujillo",
City = "M?xico D.F."},
// more customers ...
new Customer { CustomerID = "WOLZA",
ContactName = "Zbyszek Piestrzeniewicz",
City = "Warszawa"}
};
return customers;
}
}
Comments
- Anonymous
June 20, 2007
Welcome to the XXVIII Community Convergence. In these posts I try to wrap up events that have occurred