RegionInfo Constructor

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Initializes a new instance of the RegionInfo class for a particular country/region based on its full culture name.

Namespace:  System.Globalization
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
<SecuritySafeCriticalAttribute> _
Public Sub New ( _
    name As String _
)
[SecuritySafeCriticalAttribute]
public RegionInfo(
    string name
)

Parameters

  • name
    Type: System.String
    A string containing the full culture name for a specific culture.

Exceptions

Exception Condition
ArgumentNullException

name is nulla null reference (Nothing in Visual Basic).

ArgumentException

name is a country/region name.

-or-

name is the name of a neutral culture.

-or-

name is not a valid culture name.

Remarks

The specified name must be the name of a specific culture. It cannot be the name of a neutral culture. For example, en-US or en-ZW are valid strings to pass to the name parameter; en is not. Case is not significant. The predefined culture names are listed in the CultureInfo class topic.

Examples

The following code example compares two instances of RegionInfo that were created differently.

Imports System.Globalization


Public Class Example

   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)

      ' Creates a RegionInfo using the es-US culture name.
      Dim myRI1 As New RegionInfo("es-US")

      ' Creates a RegionInfo using a CultureInfo name.
      Dim myRI2 As New RegionInfo(New CultureInfo("en-US").Name)

      ' Compares the two instances.
      If myRI1.Equals(myRI2) Then
         outputBlock.Text &= "The two RegionInfo instances are equal." & vbCrLf
      Else
         outputBlock.Text &= "The two RegionInfo instances are NOT equal." & vbCrLf
      End If
   End Sub
End Class 
' This example produces the following output.
'       The two RegionInfo instances are equal.
using System;
using System.Globalization;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      // Creates a RegionInfo using the es-US culture name.
      RegionInfo myRI1 = new RegionInfo("es-US");

      // Creates a RegionInfo using a CultureInfo Name property
      RegionInfo myRI2 = new RegionInfo(new CultureInfo("en-US").Name);

      // Compares the two instances.
      if (myRI1.Equals(myRI2))
         outputBlock.Text += "The two RegionInfo instances are equal." + "\n";
      else
         outputBlock.Text += "The two RegionInfo instances are NOT equal." + "\n";
   }
}
/*
This code produces the following output.
   The two RegionInfo instances are equal.
*/

The following code example creates instances of RegionInfo using culture names.

Imports System.Globalization

Public Class Example
   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      ' Creates an array containing culture names.
      Dim myCultures() As String = {"", "ar", "ar-DZ", "en", "en-US"}

      ' Creates a RegionInfo for each of the culture names.
      '    Note that "ar" is the culture name for the neutral culture "Arabic",
      '    but it is also the region name for the country/region "Argentina";
      '    therefore, it does not fail as expected.
      outputBlock.Text &= "Without checks..." & vbCrLf
      For Each cul As String In myCultures
         Try
            Dim myRI As New RegionInfo(cul)
         Catch e As ArgumentException
            outputBlock.Text &= e.ToString() & vbCrLf
         End Try
      Next cul

      outputBlock.Text &= vbCrLf

      outputBlock.Text &= "Checking the culture names first..." & vbCrLf
      For Each cul In myCultures
         If cul = "" Then
            outputBlock.Text &= "The culture is the invariant culture." & vbCrLf
         Else
            Dim myCI As New CultureInfo(cul)
            If myCI.IsNeutralCulture Then
               outputBlock.Text += String.Format("The culture '{0}' is a neutral culture.", cul) & vbCrLf
            Else
               outputBlock.Text += String.Format("The culture '{0}' is a specific culture.", cul) & vbCrLf
               Try
                  Dim myRI As New RegionInfo(cul)
               Catch e As ArgumentException
                  outputBlock.Text &= e.ToString() & vbCrLf
               End Try
            End If
         End If
      Next 
   End Sub  
End Class 
' This example produces the following output.
'    Without checks...
'    System.ArgumentException: The region name ar should not correspond to neutral culture; a specific culture is required.
'    Parameter name: name
'       at System.Globalization.RegionInfo..ctor(String name)
'       at SilverlightApplication.Example.Demo(TextBlock outputBlock)
'    System.ArgumentException: The region name ar should not correspond to neutral culture; a specific culture is required.
'    Parameter name: name
'       at System.Globalization.RegionInfo..ctor(String name)
'       at Silverlight.Application.Example.Demo(TextBlock outputBlock)
'    
'    Checking the culture names first...
'    The culture '' is the invariant culture.
'    The culture 'ar' is a neutral culture.
'    The culture 'ar-DZ' is a specific culture.
'    The culture 'en' is a neutral culture.
'    The culture 'en-US' is a specific culture.
using System;
using System.Globalization;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {

      // Creates an array containing culture names.
      String[] myCultures = new String[] { "", "ar", "ar-DZ", "en", "en-US" };

      // Creates a RegionInfo for each of the culture names.
      //    Note that "ar" is the culture name for the neutral culture "Arabic",
      //    but it is also the region name for the country/region "Argentina";
      //    therefore, it does not fail as expected.
      outputBlock.Text += "Without checks..." + "\n";
      foreach (String cul in myCultures)
      {
         try
         {
            RegionInfo myRI = new RegionInfo(cul);
         }
         catch (ArgumentException e)
         {
            outputBlock.Text += e.ToString() + "\n";
         }
      }

      outputBlock.Text += "\n";

      outputBlock.Text += "Checking the culture names first..." + "\n";
      foreach (String cul in myCultures)
      {
         if (cul == "")
         {
            outputBlock.Text += "The culture is the invariant culture." + "\n";
         }
         else
         {
            CultureInfo myCI = new CultureInfo(cul);
            if (myCI.IsNeutralCulture)
               outputBlock.Text += String.Format("The culture '{0}' is a neutral culture.", cul) + "\n";
            else
            {
               outputBlock.Text += String.Format("The culture '{0}' is a specific culture.", cul) + "\n";
               try
               {
                  RegionInfo myRI = new RegionInfo(cul);
               }
               catch (ArgumentException e)
               {
                  outputBlock.Text += e.ToString() + "\n";
               }
            }
         }
      }
   }
}
/*
This example produces the following output.
   Without checks...
   System.ArgumentException: The region name ar should not correspond to neutral culture; a specific culture is required.
   Parameter name: name
      at System.Globalization.RegionInfo..ctor(String name)
      at Example.Demo(TextBlock outputBlock)
   System.ArgumentException: The region name ar should not correspond to neutral culture; a specific culture is required.
   Parameter name: name
      at System.Globalization.RegionInfo..ctor(String name)
      at Example.Demo(TextBlock outputBlock)

   Checking the culture names first...
   The culture '' is the invariant culture.
   The culture 'ar' is a neutral culture.
   The culture 'ar-DZ' is a specific culture.
   The culture 'en' is a neutral culture.
   The culture 'en-US' is a specific culture.
*/

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.