sudhanshu
sudhanshu

Reputation: 133

Unique Values from a list of of items in C#

I am having a list:

list = { 1,1,1,2,3,3,3,4,4,5,6,6,6}

Now I want to extract list of unique values.

Final list contains {2,5} only.

How can I do that through LINQ or any other function.

Upvotes: 4

Views: 641

Answers (3)

tvanfosson
tvanfosson

Reputation: 532465

One way would be to use the GroupBy method and filter only those which have a count of 1:

var unique = list.GroupBy(l => l)
                 .Where(g => g.Count() == 1)
                 .Select(g => g.Key);

Upvotes: 10

Hamidreza
Hamidreza

Reputation: 3128

Try this code:

var lstUnique =
    from t1 in list
    group t1 by t1 into Gr
    where Gr.Count() == 1
    select Gr.Key;

Upvotes: 0

Sudhakar Tillapudi
Sudhakar Tillapudi

Reputation: 26209

Try This:

List<int> list = new List<int>(new int[]{ 1, 1, 1, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6});
List<int> unique=new List<int>();
int count=0;
bool dupFlag = false;
for (int i = 0; i < list.Count; i++)
{
count = 0;
dupFlag = false;
for(int j=0;j<list.Count;j++)
{
    if (i == j)
    continue;

    if (list[i].Equals(list[j]))
    {
    count++;
    if (count >= 1)
    {
        dupFlag = true;
        break;
    }
    }

}
if (!dupFlag)
    unique.Add(list[i]);
}

Upvotes: 0

Related Questions