If an element exist in a list, ignore other similar elements in c#

  Kiến thức lập trình

I have got a string list with generated programmatically like this:

var list = new List<string>
{
    "anonim",
    "anonim şirket",
    "anonim şirketler",
    "tapu",
    "tapu senedi",
    "tapu kütüğü",
    "yaptırım",
    "müeyyide",
    "işçi",
    "işçi alacakları",
    "işçi hakları",
    "işçi lehine yorum ilkesi",
    "işçilik sözleşmesi",
    "limited şirket",
    "sınırlı ayni hak",
    "telif hakkı",
    "unutulma hakkı",
    "yolsuz tescil",
    "zamanaşımı"
};

It contains many repeated similar elements. So I thinked that ignore these with the help of dictinary. If dictionary key exists in the list, I want to ignore elements separated by commas in the dictionary value. Here is the dictionary:

var dict = new Dictionary<string, string>
{
    {"anonim şirket", "anonim, anonim şirketler"}, 
    {"tapu senedi", "tapu, tapu kütüğü"}, 
    {"yaptırım", "müeyyide"}, 
    {"işçi hakları", "işçi, işçi alacakları, işçi lehine yorum ilkesi, işçilik sözleşmesi"}
};

So the final list I want to get is as follows:

var new_list = new List<string>()
{
    "anonim şirket",
    "tapu senedi",
    "yaptırım",
    "işçi hakları",
    "limited şirket",
    "sınırlı ayni hak",
    "telif hakkı",
    "unutulma hakkı",
    "yolsuz tescil",
    "zamanaşımı"
};

I don’t know how to do this. I thought of writing a foreach loop like below. But I don’t know what to write in foreach loop.

var newList = new List<string>();
foreach (var l in list)
{
    // WHAT MUST I DO IN HERE?
}

8

LEAVE A COMMENT