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 . Это дает одинаковый результат в каждой культуре и работает более эффективно.