關於C#中遍歷字符串中的每個字符的方法


解決方案

C#提供了兩個方法用於遍歷字符串。

1.第一個方法是foreach循環,這個方法快速且容易,但是與第二個方法相比它不太靈活。其使用方法如下:

string testStr = "abc123";
foreach (char c in testStr)
{
  Console.WriteLine(c.ToString());
}

 

2.第二個方法使用for循環而不是foreach循環來遍歷字符串。例如:

string testStr = "abc123";
for (int counter = 0; counter < testStr.Length; counter++)
{
   Console.WriteLine(testStr[counter]);
}

 

討論

foreach循環更簡單,因此不太容易出錯,但其靈活性較差。與之相反,for循環稍微復雜一點,但其靈活性較高。

for循環這種方法使用字符串變量testStr的索引器來獲取通過counter循環索引所指示位置上的字符。在使用這種循環機制時,一定要小心不要越出字符串數組的邊界。

for循環很靈活,足以改變遍歷字符串中的字符的方式。例如,通過簡單改變for循環的初始化器和條件表達式可以快速修改循環,使之開始和結束於字符串中的特定位置。

通過修改迭代器表達式使counter變量的遞增數量大於1,可以跳過一些字符。還可以修改for循環表達式以逆序遍歷字符串,如下所示:

for (int counter = testStr.Length - 1; counter >= 0; counter--)
{
    Console.WriteLine(testStr[counter].ToString());
} 

 

注意: 

編譯器會最恰當地使用foreach循環來遍歷一個向量數組 -- 它開始於0,並且只有一維。把foreach循環轉換為另一種循環類型(比如for循環)可能不會導致任何顯著的性能改進。

所有這些方法都是使用/optimize編譯器選項編譯的。使用/optimize標志通常將使得編譯過的代碼尺寸更小,而不會使之變得更快。代碼越小,從磁盤加載它的速度就會更快,並且實時編譯它的速度也會更快。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM