How to extract the unique integers from a list excluding duplicates in C#

1 Answer

0 votes
using System;
using System.Collections.Generic;

class Program
{
    static List<int> GetUniqueExcludeDuplicates(List<int> lst) {
        Dictionary<int, int> frequency = new Dictionary<int, int>(); // To count occurrences of each number
        List<int> result = new List<int>();                         // To store unique values (excluding duplicates)

        // Count frequencies of each number in the list
        foreach (int num in lst) {
            if (frequency.ContainsKey(num)) {
                frequency[num]++;
            }
            else {
                frequency[num] = 1;
            }
        }

        // Collect numbers that appear only once
        foreach (int num in lst) {
            if (frequency[num] == 1) {
                result.Add(num); // Add to result if it's truly unique
            }
        }

        return result;
    }

    static void Main(string[] args) {
        List<int> lst = new List<int> { 1, 2, 3, 5, 8, 3, 1, 1, 0, 6, 5, 7, 3, 1, 4, 9 };

        List<int> uniqueValues = GetUniqueExcludeDuplicates(lst);

        Console.Write("Unique values (excluding duplicates): ");
        foreach (int num in uniqueValues) {
            Console.Write(num + " ");
        }
        Console.WriteLine();
    }
}


 
/*
run:
     
Unique values (excluding duplicates): 2 8 0 6 7 4 9 
 
*/

 



answered Mar 29, 2025 by avibootz
...