次の方法で共有


String.ToUpper メソッド (CultureInfo)

指定したカルチャの大文字と小文字の規則を使用して、この String のコピーを大文字で返します。

Overloads Public Function ToUpper( _
   ByVal culture As CultureInfo _) As String
[C#]
public string ToUpper(CultureInfoculture);
[C++]
public: String* ToUpper(CultureInfo* culture);
[JScript]
public function ToUpper(
   culture : CultureInfo) : String;

パラメータ

  • culture
    カルチャ固有の大文字と小文字の規則を提供する CultureInfo

戻り値

大文字の String

例外

例外の種類 条件
ArgumentNullException culture が null 参照 (Visual Basic では Nothing) です。

解説

現在有効なカルチャの大文字と小文字の規則によって、文字列の大文字と小文字を変更する方法が決まります。文字列の大文字と小文字が予測できる形で変更されることを前提としたアプリケーションでは、有効なカルチャが突然変更されると、無効な結果が得られる可能性があります。次の検索ルーチンを考えます。検索キーにはテキストの文字列を使用します。比較を簡単にするため、キーは強制的に標準的な大文字/小文字の形式とします。有効なカルチャは、現在のスレッドに対応するカルチャです。

static object LookupKey(string key) { return internalHashtable[key.ToUpper()]; }

現在のスレッドや対応するカルチャが突然変わる可能性がある場合は、既定での現在のスレッドのカルチャではなく、インバリアント カルチャを指定することをお勧めします。推奨する方法を次の例に示します。

static object LookupKey(string key) { return internalHashtable[key.ToUpper(CultureInfo.InvariantCulture)]; }

使用例

 
' Sample for String.ToUpper(CultureInfo)
Imports System
Imports System.Globalization
Imports Microsoft.VisualBasic

Class Sample
   
   Public Shared Sub Main()
      Dim str1 As [String] = "indigo"
      Dim str2, str3 As [String]
      
      Console.WriteLine()
      Console.WriteLine("str1 = '{0}'", str1)

      Console.WriteLine("str2 = Upper case copy of str1 using English-United States culture.")
      ' str2 is an upper case copy of str1, using English-United States culture.
      str2 = str1.ToUpper(New CultureInfo("en-US", False))
      
      ' str3 is an upper case copy of str1, using Turkish-Turkey culture.
      Console.WriteLine("str3 = Upper case copy of str1 using Turkish-Turkey culture.")
      str3 = str1.ToUpper(New CultureInfo("tr-TR", False))
      
      ' Compare the code points in str2 and str3.
      Console.WriteLine()
      Console.WriteLine("str2 is {0} to str3.", IIf(0 = [String].CompareOrdinal(str2, str3), "equal", "not equal"))
      CodePoints("str1", str1)
      CodePoints("str2", str2)
      CodePoints("str3", str3)
   End Sub 'Main
   
   Public Shared Sub CodePoints(title As [String], s As [String])
      Console.Write("{0}The code points in {1} are: {0}", Environment.NewLine, title)
      Dim c As Char
      For Each c In  s
         Console.Write("{0:x4} ", AscW(c))
      Next c
      Console.WriteLine()
   End Sub 'CodePoints
End Class 'Sample
'
'This example produces the following results:
'
'str1 = 'indigo'
'str2 = Upper case copy of str1 using English-United States culture.
'str3 = Upper case copy of str1 using Turkish-Turkey culture.
'
'str2 is not equal to str3.
'
'The code points in str1 are:
'0069 006e 0064 0069 0067 006f
'
'The code points in str2 are:
'0049 004e 0044 0049 0047 004f
'
'The code points in str3 are:
'0130 004e 0044 0130 0047 004f
'

[C#] 
// Sample for String.ToUpper(CultureInfo)
using System;
using System.Globalization;

class Sample 
{
    public static void Main() 
    {
    String str1 = "indigo";
    String str2, str3;

    Console.WriteLine();
    Console.WriteLine("str1 = '{0}'", str1);

    Console.WriteLine("str2 = Upper case copy of str1 using English-United States culture.");
    // str2 is an upper case copy of str1, using English-United States culture.
    str2 = str1.ToUpper(new CultureInfo("en-US", false));

    // str3 is an upper case copy of str1, using Turkish-Turkey culture.
    Console.WriteLine("str3 = Upper case copy of str1 using Turkish-Turkey culture.");
    str3 = str1.ToUpper(new CultureInfo("tr-TR", false));

    // Compare the code points in str2 and str3.
    Console.WriteLine();
    Console.WriteLine("str2 is {0} to str3.", 
         ((0 == String.CompareOrdinal(str2, str3)) ? "equal" : "not equal"));
    CodePoints("str1", str1);
    CodePoints("str2", str2);
    CodePoints("str3", str3);
    }

    public static void CodePoints(String title, String s)
    {
    Console.Write("{0}The code points in {1} are: {0}", Environment.NewLine, title);
    foreach (ushort u in s)
      Console.Write("{0:x4} ", u);
    Console.WriteLine();
    }
}
/*
This example produces the following results:

str1 = 'indigo'
str2 = Upper case copy of str1 using English-United States culture.
str3 = Upper case copy of str1 using Turkish-Turkey culture.

str2 is not equal to str3.

The code points in str1 are:
0069 006e 0064 0069 0067 006f

The code points in str2 are:
0049 004e 0044 0049 0047 004f

The code points in str3 are:
0130 004e 0044 0130 0047 004f
*/

[C++] 
// Sample for String::ToUpper(CultureInfo)
#using <mscorlib.dll>

using namespace System;
using namespace System::Globalization;

void CodePoints(String* title, String* s) {
   Console::Write(S" {0}The code points in {1} are: {0}", Environment::NewLine, title);
   System::Collections::IEnumerator* myEnum = s->GetEnumerator();
   while (myEnum->MoveNext()) {
      UInt16 u = *__try_cast<Char*>(myEnum->Current);
      Console::Write(S"{0:x4} ", __box( u));
   }
   Console::WriteLine();
}

int main() {
   String*  str1 = S"indigo";
   String* str2, *str3;

   Console::WriteLine();
   Console::WriteLine(S"str1 = ' {0}'", str1);

   Console::WriteLine(S"str2 = Upper case copy of str1 using English-United States culture.");
   // str2 is an upper case copy of str1, using English-United States culture.
   str2 = str1->ToUpper(new CultureInfo(S"en-US", false));

   // str3 is an upper case copy of str1, using Turkish-Turkey culture.
   Console::WriteLine(S"str3 = Upper case copy of str1 using Turkish-Turkey culture.");
   str3 = str1->ToUpper(new CultureInfo(S"tr-TR", false));

   // Compare the code points in str2 and str3.
   Console::WriteLine();
   Console::WriteLine(S"str2 is {0} to str3.",
      ((0 == String::CompareOrdinal(str2, str3)) ? S"equal" : S"not equal"));
   CodePoints(S"str1", str1);
   CodePoints(S"str2", str2);
   CodePoints(S"str3", str3);
}


/*
This example produces the following results:

str1 = 'indigo'
str2 = Upper case copy of str1 using English-United States culture.
str3 = Upper case copy of str1 using Turkish-Turkey culture.

str2 is not equal to str3.

The code points in str1 are:
0069 006e 0064 0069 0067 006f

The code points in str2 are:
0049 004e 0044 0049 0047 004f

The code points in str3 are:
0130 004e 0044 0130 0047 004f
*/

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

String クラス | String メンバ | System 名前空間 | String.ToUpper オーバーロードの一覧 | ToLower