String.ToLower Метод

Определение

Возвращает копию этой строки, переведенную в нижний регистр.

Перегрузки

ToLower()

Возвращает копию этой строки, переведенную в нижний регистр.

ToLower(CultureInfo)

Возвращает копию этой строки, переведенную в нижний регистр, используя правила определения регистра заданного языка и региональных параметров.

ToLower()

Исходный код:
String.Manipulation.cs
Исходный код:
String.Manipulation.cs
Исходный код:
String.Manipulation.cs

Возвращает копию этой строки, переведенную в нижний регистр.

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() метода, учитывает соглашения о регистре текущего языка и региональных параметров. Если вам нужна версия идентификатора операционной системы в нижнем или верхнем регистре, например имя файла, именованный канал или раздел реестра, используйте ToLowerInvariant методы или ToUpperInvariant . Это дает одинаковый результат в каждом языке и региональных параметрах (в ToLower() отличие от метода) и работает более эффективно.

Примечания для тех, кто вызывает этот метод

Как описано в разделе Рекомендации по использованию строк, рекомендуется избегать вызова методов регистра строк, которые заменяют значения по умолчанию, и вместо этого вызывать методы, требующие явного указания параметров. Чтобы преобразовать символ в нижний регистр с помощью соглашений о регистре текущего языка и региональных параметров, явно сообщите о своем намерении, вызвав перегрузку ToLower(CultureInfo) метода со значением для CurrentCulture параметра culture . Если вам не требуется лингвистическое сравнение, рассмотрите возможность использования Ordinal.

См. также раздел

Применяется к

ToLower(CultureInfo)

Исходный код:
String.Manipulation.cs
Исходный код:
String.Manipulation.cs
Исходный код:
String.Manipulation.cs

Возвращает копию этой строки, переведенную в нижний регистр, используя правила определения регистра заданного языка и региональных параметров.

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

Объект, задающий правила определения регистра для языка и региональных параметров. Если значением параметра culture является null, используется текущий язык и региональные параметры.

Возвращаемое значение

Эквивалент текущей строки в нижнем регистре.

Примеры

В следующем примере две строки прописных символов преобразуются в символы нижнего регистра с помощью English-United States и Turkish-Turkey языка и региональных параметров, а затем сравниваются строки в нижнем регистре. Строки в верхнем регистре идентичны, за исключением того, что для каждого вхождения прописной буквы Юникода в одной строке другая строка содержит латинскую прописную букву 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)

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, операция создания регистра будет учитывать правила, относящиеся к языку и региональным параметрам. Если вам нужна версия идентификатора операционной системы в нижнем или верхнем регистре, например имя файла, именованный канал или раздел реестра, используйте ToLowerInvariant метод или ToUpperInvariant . Это дает одинаковый результат в каждой культуре и работает более эффективно.

См. также раздел

Применяется к