title: .NET CultureInfo difference between ru and ru-RU
body: <p>I found one interesting thing in CultureInfo class. I was writting an app in ASP.NET and I was using <code>Thread.CurrentThread.CurrentCulture</code> to get the current selected language and:</p>
  
  <pre><code>Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(alias);
  </code></pre>
  
  <p>There was 2 places where I can set the culture of the current thread in one place I was doing like these:</p>
  
  <ol>
  <li><p><code>Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("ru");</code></p></li>
  <li><p><code>Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("ru-RU");</code></p></li>
  </ol>
  
  <p>Then I suddenly found that the culture (1) is different then culture (2) but both of them are Russian. </p>
  
  <p>Am I doing something wrong or the Microsoft is drunk?</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>@Tim Schmelter</p>
  
  <pre><code>        var culture = CultureInfo.GetCultureInfo("ru");
          var culture2 = CultureInfo.GetCultureInfo("ru-RU");
          if (Equals(culture, culture2))
          {
              Console.Write(true);
              return;
          }
          Console.Write(false);
  </code></pre>
  
  <p>The question is - "why does Microsoft separates "ru" and "ru-RU"?</p>