Library to determine indefinite article of a noun?
<p>Are there any libraries for .NET that deal with determining the <a href="http://owl.english.purdue.edu/owl/resource/540/01/" rel="nofollow">Indefinite Article</a> of a noun?</p>

<p>My crude attempt is below, which will probably work for 99% of my usage (which is acceptable) just wondering if there are any established alternatives?</p>

<pre><code>public static string GetIndefinateArticle(string noun)
{
    if(string.IsNullOrEmpty(noun))
        return noun;

    var first = noun[0];

    if(first == 'a' ||
        first == 'e' ||
        first == 'i' ||
        first == 'o')
        return "an " + noun;

    return "a " + noun;
}
</code></pre>

<p><strong>Update</strong>: Eamon pointed out a duplicate question in the comments: <a href="http://stackoverflow.com/questions/1288291/how-can-i-correctly-prefix-a-word-with-a-and-an">How can I correctly prefix a word with &quot;a&quot; and &quot;an&quot;?</a> I'll leave this Q here and open though, because I still don't really have an answer.</p>
