Как я могу получить разницу в двух списках в C #?

Итак, у меня есть два списка в C #

List<Attribute> attributes = new List<Attribute>();
List<string> songs = new List<string>();

один из строк и один из объекта атрибута, который я создал .. очень просто

class Attribute
{
    public string size { get; set; }
    public string link { get; set; }
    public string name { get; set; }
    public Attribute(){}
    public Attribute(string s, string l, string n) 
    {
        size = s;
        link = l;
        name = n;
    }
}

Теперь я должен сравнить, чтобы увидеть, какие песни не в названии атрибутов, например,

songs.Add("something"); 
songs.Add("another"); 
songs.Add("yet another");

Attribute a = new Attribute("500", "http://google.com", "something" ); 
attributes.Add(a);

Я хочу, чтобы вернуть "другой" и "еще один", потому что их нет в имени списка атрибутов

так для псевдокода

difference = songs - attributes.names

Ответы на вопрос(4)

Ваш ответ на вопрос