Step 1: Design Page – IntersectionList.aspx

HTML / XML
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="IntersectionList.aspx.cs" Inherits="IntersectionList" %>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Find Intersection of Two Lists - Real Time Example</title>
    <style>
        body {
            font-family: Arial;
            background-color: #f2f5fc;
            margin: 50px;
        }
        .container {
            width: 550px;
            margin: auto;
            background: #fff;
            border-radius: 10px;
            box-shadow: 0 0 10px #ccc;
            padding: 25px;
        }
        h2 {
            text-align: center;
            color: #1A2A80;
        }
        .form-control {
            width: 100%;
            padding: 8px;
            margin-top: 10px;
        }
        .btn {
            background-color: #7A85C1;
            color: white;
            border: none;
            padding: 10px;
            border-radius: 5px;
            cursor: pointer;
            width: 100%;
            margin-top: 15px;
        }
        .btn:hover {
            background-color: #5b68a1;
        }
        .result {
            margin-top: 20px;
            font-weight: bold;
            color: #333;
            text-align: center;
            white-space: pre-line;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
        <div class="container">
            <h2>Find Intersection of Two Lists</h2>

            <asp:Label ID="Label1" runat="server" Text="Enter List 1 (comma-separated):"></asp:Label><br />
            <asp:TextBox ID="txtList1" runat="server" CssClass="form-control" placeholder="Example: 10,20,30,40,50"></asp:TextBox><br />

            <asp:Label ID="Label2" runat="server" Text="Enter List 2 (comma-separated):"></asp:Label><br />
            <asp:TextBox ID="txtList2" runat="server" CssClass="form-control" placeholder="Example: 30,40,50,60,70"></asp:TextBox><br />

            <asp:Button ID="btnFindIntersection" runat="server" Text="Find Intersection" CssClass="btn" OnClick="btnFindIntersection_Click" />

            <asp:Label ID="lblResult" runat="server" CssClass="result"></asp:Label>
        </div>
    </form>
</body>
</html>

Step 2: Backend Logic – IntersectionList.aspx.cs

C#
using System;
using System.Collections.Generic;

public partial class IntersectionList : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }

    protected void btnFindIntersection_Click(object sender, EventArgs e)
    {
        lblResult.Text = "";
        string list1Text = txtList1.Text.Trim();
        string list2Text = txtList2.Text.Trim();

        if (string.IsNullOrEmpty(list1Text) || string.IsNullOrEmpty(list2Text))
        {
            lblResult.Text = "Please enter both lists.";
            lblResult.ForeColor = System.Drawing.Color.Red;
            return;
        }

        try
        {
            // Convert input strings to integer lists
            string[] arr1 = list1Text.Split(',');
            string[] arr2 = list2Text.Split(',');

            List<int> list1 = new List<int>();
            List<int> list2 = new List<int>();
            List<int> intersection = new List<int>();

            foreach (string s in arr1)
                list1.Add(Convert.ToInt32(s.Trim()));

            foreach (string s in arr2)
                list2.Add(Convert.ToInt32(s.Trim()));

            // Find intersection manually (without LINQ)
            foreach (int num in list1)
            {
                if (list2.Contains(num) && !intersection.Contains(num))
                {
                    intersection.Add(num);
                }
            }

            if (intersection.Count > 0)
            {
                lblResult.Text = "Common Elements (Intersection):\n" + string.Join(", ", intersection);
                lblResult.ForeColor = System.Drawing.Color.Green;
            }
            else
            {
                lblResult.Text = "No common elements found between the two lists.";
                lblResult.ForeColor = System.Drawing.Color.Red;
            }
        }
        catch
        {
            lblResult.Text = "Invalid input! Please enter only numbers separated by commas.";
            lblResult.ForeColor = System.Drawing.Color.Red;
        }
    }
}

Real-Time Example Output

Input 1

Code
List 1 → 10,20,30,40,50  
List 2 → 30,40,50,60,70

Output

Code
Common Elements (Intersection):
30, 40, 50

Input 2

Code
List 1 → 5,10,15  
List 2 → 20,25,30

Output

Code
No common elements found between the two lists.

Explanation

StepDescription
1Takes two lists as comma-separated input from user.
2Converts them into List<int> using Split() and Convert.ToInt32().
3Loops through the first list and checks if each element exists in the second list.
4If it does and is not already in the result, adds it to intersection.
5Displays all common elements.

Algorithm

Code
1. Read List1 and List2 from user.
2. Split both lists using ',' and convert to integer lists.
3. Create an empty list 'intersection'.
4. For each element in List1:
       If element exists in List2 and not already in intersection:
            Add element to intersection.
5. Display intersection elements.

Sample Test Cases

List 1List 2Output
10,20,30,4030,40,50,6030, 40
1,2,3,45,6,7,8No common elements
5,10,1510,15,20,2510, 15

Concepts Used