Select Items from List using Array
You could use some linq to do this fairly easily. Converting the array to a HashSet will allow Contains to operate faster

public List&lt;IDenomination&gt; GetInventory(int[] denominations)
{
    var denoms = new HashSet&lt;int&gt;(denominations);
    return Account.Where( a =&gt; denoms.Contains(a.Currency) ).ToList();
}


This assumes that Account : IDenomination though, as does your original code. If that were not the case, you would use a .Select() prior to .ToList() in order to select the IDenomination from Account.