title: Find Index of the First Uppercase character
body: <p>As a C# Novice, currently to find out the index of the first uppercase character in a string I have figured out a way</p>
  
  <pre><code>var pos = spam.IndexOf(spam.ToCharArray().First(s =&gt; String.Equals(s, char.ToUpper(s))));
  </code></pre>
  
  <p>Functionally the code works fine except that I was having the discomfort of traversing the string twice, once to find the Character and then the Index. Is there any possibility to get the index of the first UpperCase character in one pass using LINQ?</p>
  
  <p>an equivalent way in C++ would be something like</p>
  
  <pre><code>std::string::const_iterator itL=find_if(spam.begin(), spam.end(),isupper);
  </code></pre>
  
  <p>an equivalent Python Syntax would be</p>
  
  <pre><code>next(i for i,e in enumerate(spam) if e.isupper())
  </code></pre>