linq - How to select distinct elements from a sequence

c# example - distinct with linq
distinct-with-linq.aspx

<%@ Page Language="C#" AutoEventWireup="true"%>

<!DOCTYPE html>
<script runat="server">
    protected void Button1_Click(object sender, System.EventArgs e)
    {
        Label1.Text = "";
        string[] strings = { "red", "green", "red", "yellow", "magenta", "green", "red" };

        Label1.Text += "Full List: ";
        foreach (string s in strings)
        {
            Label1.Text += s + " | ";
        }

        Label1.Text += "<br />Distinct List: ";
        foreach (string s in strings.Distinct())
        {
            Label1.Text += s + " | ";
        }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>c# example - distinct with linq</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <h2 style="color:DarkBlue; font-style:italic;">
            c# example - distinct with linq
        </h2>
        <hr width="550" align="left" color="LightBlue" />  

        <asp:Label 
            ID="Label1" 
            runat="server"
            Font-Size="X-Large"
            >
        </asp:Label>
        <br /><br />
        <asp:Button 
            ID="Button1" 
            runat="server" 
            Text="Distinct With Linq" 
            OnClick="Button1_Click"
            Height="40"
            Font-Bold="true"
            />
    </div>
    </form>
</body>
</html>
More c# linq examples