String.GetEnumerator Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengambil objek yang dapat melakukan iterasi melalui karakter individual dalam string ini.
public:
CharEnumerator ^ GetEnumerator();
public CharEnumerator GetEnumerator();
member this.GetEnumerator : unit -> CharEnumerator
Public Function GetEnumerator () As CharEnumerator
Mengembalikan
Objek enumerator.
Contoh
Contoh berikut menguraikan karakter dalam beberapa string dan menampilkan informasi tentang masing-masing karakternya. Ini menggunakan konstruksi iterasi bahasa daripada panggilan ke GetEnumerator metode .
using System;
class Example
{
public static void Main()
{
EnumerateAndDisplay("Test Case");
EnumerateAndDisplay("This is a sentence.");
EnumerateAndDisplay("Has\ttwo\ttabs" );
EnumerateAndDisplay("Two\nnew\nlines");
}
static void EnumerateAndDisplay(String phrase)
{
Console.WriteLine("The characters in the string \"{0}\" are:",
phrase);
int CharCount = 0;
int controlChars = 0;
int alphanumeric = 0;
int punctuation = 0;
foreach (var ch in phrase) {
Console.Write(Char.IsControl(ch) ? $"{ch}" : $"0x{(ushort)ch:X4}");
if (Char.IsLetterOrDigit(ch))
alphanumeric++;
else if (Char.IsControl(ch))
controlChars++;
else if (Char.IsPunctuation(ch))
punctuation++;
CharCount++;
}
Console.WriteLine("\n Total characters: {0,3}", CharCount);
Console.WriteLine(" Alphanumeric characters: {0,3}", alphanumeric);
Console.WriteLine(" Punctuation characters: {0,3}", punctuation);
Console.WriteLine(" Control Characters: {0,3}\n", controlChars);
}
}
// The example displays the following output:
// The characters in the string "Test Case" are:
// 'T' 'e' 's' 't' ' ' 'C' 'a' 's' 'e'
// Total characters: 9
// Alphanumeric characters: 8
// Punctuation characters: 0
// Control Characters: 0
//
// The characters in the string "This is a sentence." are:
// 'T' 'h' 'i' 's' ' ' 'i' 's' ' ' 'a' ' ' 's' 'e' 'n' 't' 'e' 'n' 'c' 'e' '.'
// Total characters: 19
// Alphanumeric characters: 15
// Punctuation characters: 1
// Control Characters: 0
//
// The characters in the string "Has two tabs" are:
// 'H' 'a' 's' '0x0009' 't' 'w' 'o' '0x0009' 't' 'a' 'b' 's'
// Total characters: 12
// Alphanumeric characters: 10
// Punctuation characters: 0
// Control Characters: 2
//
// The characters in the string "Two
// new
// lines" are:
// 'T' 'w' 'o' '0x000A' 'n' 'e' 'w' '0x000A' 'l' 'i' 'n' 'e' 's'
// Total characters: 13
// Alphanumeric characters: 11
// Punctuation characters: 0
// Control Characters: 2
open System
let enumerateAndDisplay phrase =
printfn $"The characters in the string \"{phrase}\" are:"
let mutable CharCount = 0
let mutable controlChars = 0
let mutable alphanumeric = 0
let mutable punctuation = 0
for ch in phrase do
if Char.IsControl ch then
printf $"{ch}"
else
printf $"0x{uint16 ch:X4}"
if Char.IsLetterOrDigit ch then
alphanumeric <- alphanumeric + 1
elif Char.IsControl ch then
controlChars <- controlChars + 1
elif Char.IsPunctuation ch then
punctuation <- punctuation + 1
CharCount <- CharCount + 1
printfn $"\n Total characters: {CharCount,3}"
printfn $" Alphanumeric characters: {alphanumeric,3}"
printfn $" Punctuation characters: {punctuation,3}"
printfn $" Control Characters: {controlChars,3}\n"
enumerateAndDisplay "Test Case"
enumerateAndDisplay "This is a sentence."
enumerateAndDisplay "Has\ttwo\ttabs"
enumerateAndDisplay "Two\nnew\nlines"
// The example displays the following output:
// The characters in the string "Test Case" are:
// 'T' 'e' 's' 't' ' ' 'C' 'a' 's' 'e'
// Total characters: 9
// Alphanumeric characters: 8
// Punctuation characters: 0
// Control Characters: 0
//
// The characters in the string "This is a sentence." are:
// 'T' 'h' 'i' 's' ' ' 'i' 's' ' ' 'a' ' ' 's' 'e' 'n' 't' 'e' 'n' 'c' 'e' '.'
// Total characters: 19
// Alphanumeric characters: 15
// Punctuation characters: 1
// Control Characters: 0
//
// The characters in the string "Has two tabs" are:
// 'H' 'a' 's' '0x0009' 't' 'w' 'o' '0x0009' 't' 'a' 'b' 's'
// Total characters: 12
// Alphanumeric characters: 10
// Punctuation characters: 0
// Control Characters: 2
//
// The characters in the string "Two
// new
// lines" are:
// 'T' 'w' 'o' '0x000A' 'n' 'e' 'w' '0x000A' 'l' 'i' 'n' 'e' 's'
// Total characters: 13
// Alphanumeric characters: 11
// Punctuation characters: 0
// Control Characters: 2
Module Example
Sub Main()
EnumerateAndDisplay("Test Case")
EnumerateAndDisplay("This is a sentence.")
EnumerateAndDisplay("Has" & vbTab & "two" & vbTab & "tabs")
EnumerateAndDisplay("Two" & vbLf & "new" & vbLf & "lines")
End Sub
Sub EnumerateAndDisplay(phrase As String)
Console.WriteLine("The characters in the string ""{0}"" are:", phrase)
Dim charCount As Integer = 0
Dim controlChars As Integer = 0
Dim alphanumeric As Integer = 0
Dim punctuation As Integer = 0
For Each ch In phrase
Console.Write("'{0}' ", If(Not Char.IsControl(ch), ch,
"0x" + Convert.ToUInt16(ch).ToString("X4")))
If Char.IsLetterOrDigit(ch) Then
alphanumeric += 1
Else If Char.IsControl(ch) Then
controlChars += 1
Else If Char.IsPunctuation(ch) Then
punctuation += 1
End If
CharCount += 1
Next
Console.WriteLine()
Console.WriteLine(" Total characters: {0,3}", CharCount)
Console.WriteLine(" Alphanumeric characters: {0,3}", alphanumeric)
Console.WriteLine(" Punctuation characters: {0,3}", punctuation)
Console.WriteLine(" Control Characters: {0,3}", controlChars)
Console.WriteLine()
End Sub
End Module
' This example displays the following output:
' The characters in the string "Test Case" are:
' 'T' 'e' 's' 't' ' ' 'C' 'a' 's' 'e'
' Total characters: 9
' Alphanumeric characters: 8
' Punctuation characters: 0
' Control Characters: 0
'
' The characters in the string "This is a sentence." are:
' 'T' 'h' 'i' 's' ' ' 'i' 's' ' ' 'a' ' ' 's' 'e' 'n' 't' 'e' 'n' 'c' 'e' '.'
' Total characters: 19
' Alphanumeric characters: 15
' Punctuation characters: 1
' Control Characters: 0
'
' The characters in the string "Has two tabs" are:
' 'H' 'a' 's' '0x0009' 't' 'w' 'o' '0x0009' 't' 'a' 'b' 's'
' Total characters: 12
' Alphanumeric characters: 10
' Punctuation characters: 0
' Control Characters: 2
'
' The characters in the string "Two
' new
' lines" are:
' 'T' 'w' 'o' '0x000A' 'n' 'e' 'w' '0x000A' 'l' 'i' 'n' 'e' 's'
' Total characters: 13
' Alphanumeric characters: 11
' Punctuation characters: 0
' Control Characters: 2
Keterangan
Tip
Daripada memanggil GetEnumerator metode untuk mengambil CharEnumerator objek yang kemudian Anda gunakan untuk menghitung string, Anda harus menggunakan konstruksi iterasi bahasa Anda. Contohnya termasuk foreach di C#, for.. dalam di F#, dan Untuk Setiap di Visual Basic).
Metode ini memungkinkan Anda melakukan iterasi karakter individual dalam string. Misalnya, Visual Basic For Each, ekspresi F# for..in, dan pernyataan C# foreach memanggil metode ini untuk mengembalikan objek CharEnumerator yang dapat menyediakan akses baca-saja ke karakter dalam instans string ini.