String.ToLower 方法

定义

返回此字符串转换为小写形式的副本。Returns a copy of this string converted to lowercase.

重载

ToLower(CultureInfo)

根据指定区域性的大小写规则返回此字符串转换为小写形式的副本。Returns a copy of this string converted to lowercase, using the casing rules of the specified culture.

ToLower()

返回此字符串转换为小写形式的副本。Returns a copy of this string converted to lowercase.

ToLower(CultureInfo)

根据指定区域性的大小写规则返回此字符串转换为小写形式的副本。Returns a copy of this string converted to lowercase, using the casing rules of the specified culture.

public:
 System::String ^ ToLower(System::Globalization::CultureInfo ^ culture);
public string ToLower (System.Globalization.CultureInfo culture);
member this.ToLower : System.Globalization.CultureInfo -> string
Public Function ToLower (culture As CultureInfo) As String

参数

culture
CultureInfo

一个对象,用于提供区域性特定的大小写规则。An object that supplies culture-specific casing rules.

返回

当前字符串的等效小写形式。The lowercase equivalent of the current string.

异常

culturenullculture is null.

示例

下面的示例使用英语美国和土耳其语区域性将两个大写字符字符串转换为小写字符,然后比较小写字符串。The following example converts two strings of uppercase characters to lowercase characters using the English-United States and Turkish-Turkey cultures, then compares the lowercase strings. 大写字符串完全相同,只是对于一个字符串中的每个 Unicode 大写字母 I 的每个匹配项,另一个字符串包含上面带点的拉丁文大写字母 I。The uppercase strings are identical except that for each occurrence of the Unicode LATIN CAPITAL LETTER I in one string, the other string contains LATIN CAPITAL LETTER I WITH DOT ABOVE.

// Sample for String::ToLower(CultureInfo)
using namespace System;
using namespace System::Globalization;
void CodePoints( String^ title, String^ s )
{
   Console::Write( "{0}The code points in {1} are: {0}", Environment::NewLine, title );
   System::Collections::IEnumerator^ myEnum = s->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      UInt16 u =  safe_cast<Char>(myEnum->Current);
      Console::Write( "{0:x4} ", u );
   }

   Console::WriteLine();
}

int main()
{
   String^ str1 = "INDIGO";
   
   // str2 = str1, except each 'I' is '\u0130' (Unicode LATIN CAPITAL I WITH DOT ABOVE).
   array<Char>^temp = {L'\u0130',L'N',L'D',L'\u0130',L'G',L'O'};
   String^ str2 = gcnew String( temp );
   String^ str3;
   String^ str4;
   Console::WriteLine();
   Console::WriteLine( "str1 = '{0}'", str1 );
   Console::WriteLine();
   Console::WriteLine( "str1 is {0} to str2.", ((0 == String::CompareOrdinal( str1, str2 )) ? (String^)"equal" : "not equal") );
   CodePoints( "str1", str1 );
   CodePoints( "str2", str2 );
   Console::WriteLine();
   
   // str3 is a lower case copy of str2, using English-United States culture.
   Console::WriteLine( "str3 = Lower case copy of str2 using English-United States culture." );
   str3 = str2->ToLower( gcnew CultureInfo( "en-US",false ) );
   
   // str4 is a lower case copy of str2, using Turkish-Turkey culture.
   Console::WriteLine( "str4 = Lower case copy of str2 using Turkish-Turkey culture." );
   str4 = str2->ToLower( gcnew CultureInfo( "tr-TR",false ) );
   
   // Compare the code points in str3 and str4.
   Console::WriteLine();
   Console::WriteLine( "str3 is {0} to str4.", ((0 == String::CompareOrdinal( str3, str4 )) ? (String^)"equal" : "not equal") );
   CodePoints( "str3", str3 );
   CodePoints( "str4", str4 );
}

/*
This example produces the following results:

str1 = 'INDIGO'

str1 is not equal to str2.

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

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

str3 = Lower case copy of str2 using English-United States culture.
str4 = Lower case copy of str2 using Turkish-Turkey culture.

str3 is equal to str4.

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

The code points in str4 are:
0069 006e 0064 0069 0067 006f
*/
// Sample for String.ToLower(CultureInfo)

using System;
using System.Globalization;

class Sample 
{
    public static void Main() 
    {
    String str1 = "INDIGO";
    // str2 = str1, except each 'I' is '\u0130' (Unicode LATIN CAPITAL I WITH DOT ABOVE).
    String str2 = new String(new Char[] {'\u0130', 'N', 'D', '\u0130', 'G', 'O'});
    String str3, str4;

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

    Console.WriteLine();
    Console.WriteLine("str1 is {0} to str2.", 
         ((0 == String.CompareOrdinal(str1, str2)) ? "equal" : "not equal"));
    CodePoints("str1", str1);
    CodePoints("str2", str2);

    Console.WriteLine();
    // str3 is a lower case copy of str2, using English-United States culture.
    Console.WriteLine("str3 = Lower case copy of str2 using English-United States culture.");
    str3 = str2.ToLower(new CultureInfo("en-US", false));

    // str4 is a lower case copy of str2, using Turkish-Turkey culture.
    Console.WriteLine("str4 = Lower case copy of str2 using Turkish-Turkey culture.");
    str4 = str2.ToLower(new CultureInfo("tr-TR", false));

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

    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'

str1 is not equal to str2.

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

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

str3 = Lower case copy of str2 using English-United States culture.
str4 = Lower case copy of str2 using Turkish-Turkey culture.

str3 is equal to str4.

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

The code points in str4 are:
0069 006e 0064 0069 0067 006f
*/
' Sample for String.ToLower(CultureInfo)
Imports System.Globalization

Class Sample
   Public Shared Sub Main()
      Dim str1 As [String] = "INDIGO"
      ' str2 = str1, except each 'I' is '\u0130' (Unicode LATIN CAPITAL I WITH DOT ABOVE).
      Dim str2 As New [String](New [Char]() {ChrW(&H0130), "N"c, "D"c, ChrW(&H0130), "G"c, "O"c})
      Dim str3, str4 As [String]

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

      Console.WriteLine()
      Console.WriteLine("str1 is {0} to str2.", _
                         IIf(0 = [String].CompareOrdinal(str1, str2), "equal", "not equal"))
      CodePoints("str1", str1)
      CodePoints("str2", str2)

      Console.WriteLine()
      ' str3 is a lower case copy of str2, using English-United States culture.
      Console.WriteLine("str3 = Lower case copy of str2 using English-United States culture.")
      str3 = str2.ToLower(New CultureInfo("en-US", False))

      ' str4 is a lower case copy of str2, using Turkish-Turkey culture.
      Console.WriteLine("str4 = Lower case copy of str2 using Turkish-Turkey culture.")
      str4 = str2.ToLower(New CultureInfo("tr-TR", False))

      ' Compare the code points in str3 and str4.
      Console.WriteLine()
      Console.WriteLine("str3 is {0} to str4.", _
                         IIf(0 = [String].CompareOrdinal(str3, str4), "equal", "not equal"))
      CodePoints("str3", str3)
      CodePoints("str4", str4)
   End Sub

   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
End Class
'
'str1 = 'INDIGO'
'
'str1 is not equal to str2.
'
'The code points in str1 are:
'0049 004e 0044 0049 0047 004f
'
'The code points in str2 are:
'0130 004e 0044 0130 0047 004f
'
'str3 = Lower case copy of str2 using English-United States culture.
'str4 = Lower case copy of str2 using Turkish-Turkey culture.
'
'str3 is equal to str4.
'
'The code points in str3 are:
'0069 006e 0064 0069 0067 006f
'
'The code points in str4 are:
'0069 006e 0064 0069 0067 006f

注解

culture 参数指定的区域性的大小写规则确定了更改字符串大小写的方式。The casing rules of the culture specified by the culture parameter determine the way the case of the string is changed.

备注

此方法不会修改当前实例的值。This method does not modify the value of the current instance. 相反,它会返回一个新字符串,其中当前实例中的所有字符都转换为小写。Instead, it returns a new string in which all characters in the current instance are converted to lowercase.

安全注意事项Security Considerations

如果将 ToLower(CultureInfo) 方法传递到 CultureInfo.InvariantCulture以外的 CultureInfo 对象,则大小写操作将考虑特定于区域性的规则。If you pass the ToLower(CultureInfo) method a CultureInfo object other than CultureInfo.InvariantCulture, the casing operation will take culture-specific rules into account. 如果需要操作系统标识符的小写或大写版本(如文件名、命名管道或注册表项),请使用 ToLowerInvariantToUpperInvariant 方法。If you need the lowercase or uppercase version of an operating system identifier, such as a file name, named pipe, or registry key, use the ToLowerInvariant or ToUpperInvariant method. 这会在每个区域性中产生相同的结果并更有效地执行。This produces the same result in every culture and performs more efficiently.

另请参阅

ToLower()

返回此字符串转换为小写形式的副本。Returns a copy of this string converted to lowercase.

public:
 System::String ^ ToLower();
public string ToLower ();
member this.ToLower : unit -> string
Public Function ToLower () As String

返回

一个小写字符串。A string in lowercase.

示例

下面的示例将几个大小写混合的字符串转换为小写。The following example converts several mixed case strings to lowercase.

using namespace System;
using namespace System::Collections;
int main()
{
   array<String^>^info = {"Name","Title","Age","Location","Gender"};
   Console::WriteLine( "The initial values in the array are:" );
   IEnumerator^ myEnum = info->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      String^ s = safe_cast<String^>(myEnum->Current);
      Console::WriteLine( s );
   }

   Console::WriteLine( " {0}The lowercase of these values is:", Environment::NewLine );
   IEnumerator^ myEnum1 = info->GetEnumerator();
   while ( myEnum1->MoveNext() )
   {
      String^ s = safe_cast<String^>(myEnum1->Current);
      Console::WriteLine( s->ToLower() );
   }

   Console::WriteLine( " {0}The uppercase of these values is:", Environment::NewLine );
   IEnumerator^ myEnum2 = info->GetEnumerator();
   while ( myEnum2->MoveNext() )
   {
      String^ s = safe_cast<String^>(myEnum2->Current);
      Console::WriteLine( s->ToUpper() );
   }
}
// The example displays the following output:
//       The initial values in the array are:
//       Name
//       Title
//       Age
//       Location
//       Gender
//       
//       The lowercase of these values is:
//       name
//       title
//       age
//       location
//       gender
//       
//       The uppercase of these values is:
//       NAME
//       TITLE
//       AGE
//       LOCATION
//       GENDER
using System;

public class ToLowerTest {
    public static void Main() {

        string [] info = {"Name", "Title", "Age", "Location", "Gender"};

        Console.WriteLine("The initial values in the array are:");
        foreach (string s in info)
            Console.WriteLine(s);

        Console.WriteLine("{0}The lowercase of these values is:", Environment.NewLine);        

        foreach (string s in info)
            Console.WriteLine(s.ToLower());

        Console.WriteLine("{0}The uppercase of these values is:", Environment.NewLine);        

        foreach (string s in info)
            Console.WriteLine(s.ToUpper());
    }
}
// The example displays the following output:
//       The initial values in the array are:
//       Name
//       Title
//       Age
//       Location
//       Gender
//       
//       The lowercase of these values is:
//       name
//       title
//       age
//       location
//       gender
//       
//       The uppercase of these values is:
//       NAME
//       TITLE
//       AGE
//       LOCATION
//       GENDER
Public Class ToLowerTest
    
    Public Shared Sub Main()
        Dim info As String() = {"Name", "Title", "Age", "Location", "Gender"}
        
        Console.WriteLine("The initial values in the array are:")

        Dim s As String
        For Each s In info
            Console.WriteLine(s)
        Next 

        Console.WriteLine("{0}The lowercase of these values is:", Environment.NewLine)

        For Each s In info
            Console.WriteLine(s.ToLower())
        Next 

        Console.WriteLine("{0}The uppercase of these values is:", Environment.NewLine)

        For Each s In  info
            Console.WriteLine(s.ToUpper())
        Next 
    End Sub 
End Class 
' The example displays the following output:
'       The initial values in the array are:
'       Name
'       Title
'       Age
'       Location
'       Gender
'       
'       The lowercase of these values is:
'       name
'       title
'       age
'       location
'       gender
'       
'       The uppercase of these values is:
'       NAME
'       TITLE
'       AGE
'       LOCATION
'       GENDER

注解

此方法将考虑当前区域性的大小写规则。This method takes into account the casing rules of the current culture.

备注

此方法不会修改当前实例的值。This method does not modify the value of the current instance. 相反,它会返回一个新字符串,其中当前实例中的所有字符都转换为小写。Instead, it returns a new string in which all characters in the current instance are converted to lowercase.

安全注意事项Security Considerations

调用 ToLower() 方法所产生的大小写操作将考虑当前区域性的大小写约定。The casing operation that results from calling the ToLower() method takes the casing conventions of the current culture into account. 如果需要操作系统标识符的小写或大写版本(如文件名、命名管道或注册表项),请使用 ToLowerInvariantToUpperInvariant 方法。If you need the lowercase or uppercase version of an operating system identifier, such as a file name, named pipe, or registry key, use the ToLowerInvariant or ToUpperInvariant methods. 这会在每个区域性(与 ToLower() 方法不同)中产生相同的结果,并更有效地执行。This produces the same result in every culture (unlike the ToLower() method) and performs more efficiently.

调用方说明

使用字符串的最佳做法中所述,建议你避免调用替换默认值的字符串大小写方法,而是调用需要显式指定参数的方法。As explained in Best Practices for Using Strings, we recommend that you avoid calling string casing methods that substitute default values and instead call methods that require parameters to be explicitly specified. 若要使用当前区域性的大小写约定将字符转换为小写,请使用其 culture 参数的值 CurrentCulture 调用 ToLower(CultureInfo) 方法重载。To convert a character to lowercase by using the casing conventions of the current culture, call the ToLower(CultureInfo) method overload with a value of CurrentCulture for its culture parameter.

另请参阅

适用于