How to use LINQ projection Operators in ASP.NET

March 24, 2014 0 Comments


Projection operators are used to transform an object into a new object of a different type. By using the Projection operators, you can construct a new object of a different type that is built from each object. The Select and SelectMany clauses are the Projection operators used in LINQ.
The Select operator performs a projection over a sequence and projects the value that is based on a transform function. The Select operator in LINQ performs function just as the Select statement in SQL. The Select operator specifies which elements are to be retrieved. For example, you can use the Select clause to project the first letter from each string in a list of strings. The syntax of using the Select clause is:

public static lEnumerable<S> Select<T, S>( this IEnumerable<T> source, Function<T, S> selector);

The second type of Projection operator used in LINQ is the SelectMany operator. The SelectMany operator projects a sequence of values that are based on a transform function and then organize them into one sequence. The syntax of using the SelectMany clause is:
public static IEnumerable<S> SeIectMany<T, S>( this IEnumerable<T> source, Function<T, IEnumerable<S»selector);

You must be wondering about the difference between the Select and SelectMany operators. The Select and
SelectMany operators are both used to produce a result value from a source of values. The difference lies in
the result value. The Select operator is used to produce one result value for every source value. The result
value is a collection that has the same number of elements from the query.
In contrast, the SelectMany operator produces a single result that contains a concatenated collection from the query.

Let's take an simple example of SelectMany Clause

Source view
  <form id="form1" runat="server">
        <asp:Button ID="Button1" runat="server" Text="Select Many Clause" 
            onclick="Button1_Click" />
        <br />
    <asp:ListBox ID="ListBox1" runat="server" Height="169px" Width="108px">
Code Behind View
 protected void Button1_Click(object sender, EventArgs e)
        string[] mytext = new string[] { "Hello world", " this is simple", "example of projection operator" };
        IEnumerable<string[]> myword = mytext.Select(x => x.Split(' '));
        foreach (string[] item in myword)
            foreach (string wr in item)
Code Generate the Following Output
How to use LINQ projection Operators in ASP.NET

Jacob Lefore

Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard. Google