Generate new List<string> based on substring match in List<string> in c#
<p>Consider a c# <code>List&lt;string&gt; files</code> with the following content</p>

<pre><code>C:\z1\z1.docx
C:\z1\z2.docx
C:\z2\z2.docx    // &lt;--- file z2.docx has the same name as in folder z1.
</code></pre>

<p>I now want to find all files with the same <em>filename</em> and receive back a list which contains the <em>full path + filename</em></p>

<p><code>List&lt;string&gt; duplicates</code></p>

<pre><code>C:\z1\z2.docx
C:\z2\z2.docx
</code></pre>

<p>I'm asking, since it is easy to code a solution with loops and other inefficent ways, but I want to use an elegant solution and my knowlege of List-operations in c# is not sufficient.</p>