String.ToLower 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回此字串轉換為小寫的版本。
多載
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() 方法所產生的大小寫作業會將目前文化特性的大小寫慣例納入考慮。 如果您需要操作系統識別碼的小寫或大寫版本,例如檔名、命名管道或登錄機碼,請使用 ToLowerInvariant 或 ToUpperInvariant 方法。 這在每個文化特性 (會產生相同的結果,不同於 ToLower() 方法) 並更有效率地執行。
給呼叫者的注意事項
如 使用字串的最佳做法中所述,建議您避免呼叫替代預設值的字元串大小寫方法,並改為呼叫需要明確指定參數的方法。 若要使用目前文化特性的大小寫慣例,將字元轉換成小寫,請使用 其 culture
參數的值CurrentCulture呼叫 方法多載,以明確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
提供文化特性大小寫規則的物件。 如果 culture
是 null
,則會使用目前的文化特性。
傳回
目前字串的小寫對應項。
範例
下列範例會使用 English-United States 和 Turkish-Turkey 文化特性,將兩個大寫字元的字串轉換成小寫字元,然後比較小寫字串。 大寫字串完全相同,不同之處在於,在單一字串中每次出現的 Unicode LATIN 大寫字母 I,另一個字串則包含拉丁大寫字母 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
指定文化特性的大小寫規則會決定變更字串大小寫的方式。
注意
這個方法不會修改目前實例的值。 相反地,它會傳回新的字串,其中目前實例中的所有字元都會轉換成小寫。
如果您將 方法CultureInfo傳遞給 ToLower(CultureInfo) 以外的CultureInfo.InvariantCulture物件,大小寫作業會將特定文化特性規則納入考慮。 如果您需要操作系統識別碼的小寫或大寫版本,例如檔名、命名管道或登錄機碼,請使用 ToLowerInvariant 或 ToUpperInvariant 方法。 這會在每個文化特性中產生相同的結果,並更有效率地執行。