It seems to me that you want:
List<string> usersList = testList.Select(x = > x.Name) .Except(users) .ToList();
In other words, "use all the usernames in testList , except those listed in users , and convert the result to List<string> ".
Suppose you have nothing in usersList to start with. If usersList already exists and contains some values, you can use:
usersList.AddRange(testList.Select(x = > x.Name).Except(users));
Note that this will not account for existing elements in usersList , so you can get duplicates.
source share