String.ToLower 方法

定义

返回此字符串转换为小写形式的副本。

重载

ToLower()

返回此字符串转换为小写形式的副本。

ToLower(CultureInfo)

根据指定区域性的大小写规则返回此字符串转换为小写形式的副本。

ToLower()

返回此字符串转换为小写形式的副本。

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

返回

一个小写字符串。

示例

以下示例将多个混合大小写字符串转换为小写。

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
open System

let info = [| "Name"; "Title"; "Age"; "Location"; "Gender" |]

printfn "The initial values in the array are:"
for s in info do
    printfn $"{s}"

printfn $"{Environment.NewLine}The lowercase of these values is:"

for s in info do
    printfn $"{s.ToLower()}"

printfn $"{Environment.NewLine}The uppercase of these values is:"

for s in info do
    printfn $"{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

注解

此方法考虑了当前区域性的大小写规则。

注意

此方法不会修改当前实例的值。 相反,它返回一个新字符串,其中当前实例中的所有字符都转换为小写。

调用 ToLower() 方法产生的大小写操作考虑了当前区域性的大小写约定。 如果需要操作系统标识符的小写或大写版本(如文件名、命名管道或注册表项),请使用 ToLowerInvariantToUpperInvariant 方法。 这与方法) 不同, ToLower() 这在每个区域性 (产生相同的结果,并且执行效率更高。

调用方说明

使用字符串的最佳做法中所述,建议避免调用替换默认值的字符串大小写方法,而是调用需要显式指定参数的方法。 若要使用当前区域性的大小写约定将字符转换为小写,请通过对其参数的 值为 CurrentCultureculture 调用方法重载来显式发出ToLower(CultureInfo)信号。 如果不需要语言感知比较,请考虑使用 Ordinal

另请参阅

适用于

ToLower(CultureInfo)

根据指定区域性的大小写规则返回此字符串转换为小写形式的副本。

public:
 System::String ^ ToLower(System::Globalization::CultureInfo ^ culture);
public 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

一个对象,用于提供区域性特定的大小写规则。 如果 culturenull,则使用当前区域性。

返回

当前字符串的等效小写形式。

示例

下面的示例使用 English-United 状态和 Turkish-Turkey 区域性将两个大写字符的字符串转换为小写字符,然后比较小写字符串。 大写字符串是相同的,只不过对于一个字符串中每出现 Unicode LATIN 大写字母 I,另一个字符串包含带上点的拉丁文大写字母 I。

// 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)

open System
open System.Globalization

let codePoints title s =
     printf $"{Environment.NewLine}The code points in {title} are: {Environment.NewLine}"
     for u in s do
          printf $"{u:x4} "
     printfn ""

let str1 = "INDIGO"
// str2 = str1, except each 'I' is '\u0130' (Unicode LATIN CAPITAL I WITH DOT ABOVE).
let str2 = String [| '\u0130'; 'N'; 'D'; '\u0130'; 'G'; 'O' |]

printfn $"\nstr1 = '{str1}'\n"

printfn $"""str1 is {if 0 = String.CompareOrdinal(str1, str2) then "equal" else "not equal"} to str2."""
codePoints "str1" str1
codePoints "str2" str2

// str3 is a lower case copy of str2, using English-United States culture.
printfn "\nstr3 = Lower case copy of str2 using English-United States culture."
let str3 = str2.ToLower(CultureInfo("en-US", false))

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

// Compare the code points in str3 and str4.
printfn $"""\nstr3 is {if 0 = String.CompareOrdinal(str3, str4) then "equal" else "not equal"} to str4."""
     
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)
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 区域性的大小写规则决定了字符串大小写的更改方式。

注意

此方法不会修改当前实例的值。 相反,它返回一个新字符串,其中当前实例中的所有字符都转换为小写。

如果向 ToLower(CultureInfo) 方法 CultureInfo 传递对象而不是 CultureInfo.InvariantCulture,则大小写操作将考虑区域性特定的规则。 如果需要操作系统标识符的小写或大写版本(如文件名、命名管道或注册表项),请使用 ToLowerInvariantToUpperInvariant 方法。 这在每个区域性中产生相同的结果,并且执行效率更高。

另请参阅

适用于