String.ToLower 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回此字符串转换为小写形式的副本。
重载
ToLower() |
返回此字符串转换为小写形式的副本。 |
ToLower(CultureInfo) |
根据指定区域性的大小写规则返回此字符串转换为小写形式的副本。 |
ToLower()
- Source:
- String.Manipulation.cs
- Source:
- String.Manipulation.cs
- Source:
- 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() 这在每个区域性 (产生相同的结果,并且执行效率更高。
调用方说明
如 使用字符串的最佳做法中所述,建议避免调用替换默认值的字符串大小写方法,而是调用需要显式指定参数的方法。 若要使用当前区域性的大小写约定将字符转换为小写,请通过对其参数的 值为 CurrentCultureculture
调用方法重载来显式发出ToLower(CultureInfo)信号。 如果不需要语言感知比较,请考虑使用 Ordinal。
另请参阅
适用于
ToLower(CultureInfo)
- Source:
- String.Manipulation.cs
- Source:
- String.Manipulation.cs
- Source:
- 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 状态和 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,则大小写操作将考虑区域性特定的规则。 如果需要操作系统标识符的小写或大写版本(如文件名、命名管道或注册表项),请使用 ToLowerInvariant 或 ToUpperInvariant 方法。 这在每个区域性中产生相同的结果,并且执行效率更高。