Select with Anonymous Types: prints the name of every product in the product list along with the category of the product and its unit price : select « LINQ « C# / C Sharp






Select with Anonymous Types: prints the name of every product in the product list along with the category of the product and its unit price

 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

public class MainClass {
    public static void Main() {

        List<Product> products = GetProductList();

        var productInfos =
            from p in products
            select new { p.ProductName, p.Category, Price = p.UnitPrice };

        Console.WriteLine("Product Info:");
        foreach (var productInfo in productInfos) {
            Console.WriteLine("{0} is in the category {1} and costs {2} per unit.", productInfo.ProductName, productInfo.Category, productInfo.Price);
        }
    }

    static List<Product> GetProductList() {
        List<Product> empTree = new List<Product>();
        empTree.Add(new Product { ProductName = "A", Category = "O", UnitPrice = 12, UnitsInStock = 5, Total = 36, OrderDate = new DateTime(2005, 1, 1), Id = 1 });
        empTree.Add(new Product { ProductName = "B", Category = "O", UnitPrice = 2, UnitsInStock = 4, Total = 35, OrderDate = new DateTime(2005, 1, 1), Id = 1 });
        empTree.Add(new Product { ProductName = "C", Category = "O", UnitPrice = 112, UnitsInStock = 3, Total = 34, OrderDate = new DateTime(2005, 1, 1), Id = 1 });
        empTree.Add(new Product { ProductName = "D", Category = "O", UnitPrice = 112, UnitsInStock = 0, Total = 33, OrderDate = new DateTime(2005, 1, 1), Id = 1 });
        empTree.Add(new Product { ProductName = "E", Category = "O", UnitPrice = 1112, UnitsInStock = 2, Total = 32, OrderDate = new DateTime(2005, 1, 1), Id = 1 });
        empTree.Add(new Product { ProductName = "F", Category = "O", UnitPrice = 11112, UnitsInStock = 0, Total = 31, OrderDate = new DateTime(2005, 1, 1), Id = 1 });
        return empTree;
    }
}
class Product : IComparable<Product> {
    public string ProductName { get; set; }
    public string Category { get; set; }
    public int UnitPrice { get; set; }
    public int UnitsInStock { get; set; }
    public int Total { get; set; }
    public DateTime OrderDate { get; set; }
    public int Id { get; set; }

    public override string ToString() {
        return String.Format("Id: {0}, Name: {1} , Category: {3}", this.Id, this.ProductName, this.Category);
    }
    int IComparable<Product>.CompareTo(Product other) {
        if (other == null)
            return 1;
        if (this.Id > other.Id)
            return 1;

        if (this.Id < other.Id)
            return -1;

        return 0;
    }
}

 








Related examples in the same category

1.Query Reuse
2.Select array item by type
3.Use LINQ with Dictionary
4.Use LINQ to query characters in a string
5.Transformation: link two array.
6.Select with Anonymous Types: prints uppercase and lowercase versions of each string in an input array
7.Select with Anonymous Types: iterates over each element to print the element's name
8.uses select to create a sequence of each product name.
9.Converting an Array of Strings to Integers
10.Converting an Array of Strings to Integers and Sorting It
11.Query with Intentional Exception Deferred Until Enumeration
12.Demonstrating the Query Results Changing Between Enumerations
13.Returning a List