Last () / LastOrDefault ()
Question: What are these?
Please refer to the following table:
Step 1: Create a new WebForm project
Step 2: The complete code of WebForm1.aspx looks like this:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="LAST_LASTorDefaultLINQApp.WebForm1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<style type="text/css">
.grid
{
margin-top: 50px;
}
</style>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<center>
<div>
<table>
<tr>
<td colspan="2" align="center">
<asp:Label ID="Label1" runat="server" Text="Play with Last/LastOrDefault using LINQ"
Font-Bold="true" Font-Size="Large" Font-Names="Verdana" ForeColor="Maroon"></asp:Label>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<asp:Button ID="Button1" runat="server" Text="Last()" Font-Names="Verdana" Width="213px"
BackColor="Orange" Font-Bold="True" OnClick="Button1_Click" />
</td>
</tr>
<tr>
<td colspan="2" align="center">
<asp:Button ID="Button2" runat="server" Text="LastOrDefault()" Font-Names="Verdana"
Width="213px" BackColor="Orange" Font-Bold="True" OnClick="Button2_Click" />
</td>
</tr>
<tr>
<td colspan="2" align="center">
<asp:GridView ID="GridView1" runat="server" CssClass="grid" BackColor="LightGoldenrodYellow"
BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None">
<AlternatingRowStyle BackColor="PaleGoldenrod" />
<FooterStyle BackColor="Tan" />
<HeaderStyle BackColor="Tan" Font-Bold="True" />
<PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
<SortedAscendingCellStyle BackColor="#FAFAE7" />
<SortedAscendingHeaderStyle BackColor="#DAC09E" />
<SortedDescendingCellStyle BackColor="#E1DB9C" />
<SortedDescendingHeaderStyle BackColor="#C2A47B" />
</asp:GridView>
</td>
</tr>
</table>
</div>
</center>
</form>
</body>
</html>
Step 3: The complete code of WebForm1.aspx.cs looks like this:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace LAST_LASTorDefaultLINQApp
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
var query = objEntities.Employee.ToList<Employee>().Last();
var querylist = new List<Employee> { query };
GridView1.DataSource = querylist;
GridView1.DataBind();
}
protected void Button2_Click(object sender, EventArgs e)
{
var query = objEntities.Employee.ToList<Employee>().LastOrDefault();
var querylist = new List<Employee> { query };
GridView1.DataSource = querylist;
GridView1.DataBind();
}
#region Instance MembersCompanyEntities objEntities = new CompanyEntities();
#endregion
}
}
Step 4: The output of the application looks like this:
Step 5: The Last () operation output of the application looks like this:
SequenceEqual
Question: What is play with SequenceEqual using LINQ?
In simple terms "It provides flexibility to query requested data sources to make sure the data is equal as per the requirements considered".
Step 1: Create a new WebForm project
Step 2: The complete code of WebForm1.aspx looks like this:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="LINQApp.WebForm1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<center>
<div>
<table>
<tr>
<td colspan="2" align="center">
<asp:Label ID="Label1" runat="server" Text="Play with Sequence Equal using LINQ"
Font-Bold="true" Font-Size="Large" Font-Names="Verdana" ForeColor="Maroon"></asp:Label>
</td>
</tr>
</table>
</div>
</center>
</form>
</body>
</html>
Step 3: The complete code of WebForm1.aspx.cs looks like this:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace LINQApp
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var query1 = objEntities.Employee.ToList().Select(r=>r.Location);
var query2 = objEntities.Department.ToList().Select(r =>r.Location);
bool result = query1.SequenceEqual(query2);
Label obj_Label = new Label();
obj_Label.Text = "The Result is: " + result;
obj_Label.ForeColor = System.Drawing.Color.Green;
this.Page.Controls.Add(obj_Label);
}
#region Instance MembersCompanyEntities objEntities = new CompanyEntities();
#endregion
}
}
Step 4: The output of the application looks like this:
I hope this article is useful for you. I look forward for your comments and feedback.Thanks Vijay Prativadi

Join the conversation! Your thoughts help the community grow.