Add to collection if not already available with linq
<p>I have a collection in C# which stores data of persons. 
Now i want to update the collections list. 
Before i update any object in the list i want to check if the person already exists. All persons have 9 proporties. I want to check by two properties if the stored data is already in the collection.  </p>

<p>If the person already exist, i want to drop the old data and want to save all properties from the new one.<br>
If the person not exist, i want to create a new object with the new data.<br>
New data i read from a external file and save it to the collection list.<br>
Old data is stored in a xml file and i load it to the collection list.  </p>

<p>My approach so far:</p>

<p>Add new person to list, even its available. Then delete duplicates and halt persons which are later added to list.</p>

<p>or</p>

<p>before adding select with linq by <code>person.name</code> and <code>person.sname</code> and set all properties by the new data, if not exists create new one.</p>

<pre><code>List&lt;person&gt; with {name, sname, mobile, email, adress1, adress2, fone, age, gender}

 List&lt;person&gt; list = new List&lt;person&gt;;
 Person person = new Person();
 XDocument doc = XDocument.Load(XMLPath);

 // somethink like that
 list.Select(list.Name &amp;&amp; list.sName)
 where ...
</code></pre>

<p>I am new with linq so i had problems to realize it.</p>