 <p>It is not too pretty but you could use your first list and then select from the second list with <code>FirstOrDefault</code>.</p> <p>The last <code>Where</code> is to be sure you do not include nulls if the first <code>SelectedUser</code> is not found in the <code>objValidateUserList</code> list.</p> <pre><code>var sortedList = SelectedUser.Select( sortedListUser =&gt; objValidateUserList.FirstOrDefault(nonSortedListUser =&gt; nonSortedListUser.value == sortedListUser)) .Where(x =&gt; x != null); </code></pre> <p>Hope it helps!</p>