What's the proper way to handle a variable across multiple methods?
<p>Say I have a <code>List&lt;Objects&gt;</code>. I want to define the list of objects in one method, and use them in several others.</p>

<p>Here's the ways I've come up with and I'm looking for more or the correct way to do it.</p>

<ol>
<li>You can define <code>List&lt;Objects&gt;</code> in every method that uses it. 
<ul>
<li>Pros: It works. No chance of getting the wrong variable.</li>
<li>Cons: Code duplication.</li>
</ul></li>
<li>You can use a private <code>List&lt;Objects&gt;</code> defined in the class and update it using <code>(ref ListObjects)</code>
<ul>
<li>Pros: I only have to define it once.</li>
<li>Cons: I feel like it's messy and bad practice.</li>
</ul></li>
<li>You can pass <code>List&lt;Objects&gt;</code> as a parameter to the methods that use it.
<ul>
<li>Pros: Prevents code duplication</li>
<li>Cons: Have to make my populate functions return functions, and add parameters to my other methods. Possible conflicts with Events?</li>
</ul></li>
</ol>

<p>So that's what I've come up with. I'm really not sure which to use or if there's a better way to do this. Thoughts?</p>

<p>EDIT: Including some code as requested.</p>

<pre><code>private List&lt;MedicalPlan&gt; medicalPlansList;
</code></pre>

<p>This is the list. It is a list that gets information from a database, here:</p>

<pre><code>private void BindMedicalList()
{
   medicalPlansList = new MedicalPlanRepository().RetrieveAll().Where(x =&gt; x.Year == year).ToList();
}
</code></pre>

<p>Then it's used to find objects in that list, such as</p>

<pre><code>var result =
                    medicalPlansList.FirstOrDefault(
                        c =&gt; c.CoverageLevels.Any(p =&gt; p.Id == id));
</code></pre>
