簡體   English   中英

如何將其變成for循環?

[英]How do i turn this into a for loop?

嘿,我想知道如何將其轉換為for循環,所以我不必為字母表中的每個字母復制26次:

count[1] = str.Split('A').Length - 1;
Console.WriteLine("A comes up x " + count[1]);

count是一個空白的整數數組,該數組具有26個值,表示字母在字符串str中的出現次數,存儲在稱為字母的字符串數組中

與其拆分和創建一個新數組,不如使用Count()函數。 然后,您可以循環瀏覽每個字符,或循環您現有的數組。

for (char c = 'A'; c <= 'Z'; c++)
{
    Console.WriteLine(c + " comes up x " + str.Count(x => char.ToUpper(x) == c));
}

這是一個:

static void Main(string[] args)
{
    var letters = "abcdefghijklmnopqrstuvwxyz";
    var str = "the quick brown fox jumps over the lazy dog";

    for (int i = 0; i < letters.Length; i++)
        Console.WriteLine("{0} comes up {1} time(s)", letters[i], str.ToLower().Split(letters[i]).Length - 1);

    Console.Read();

}

您可以使用數組存儲每個字符的計數。 拆分將是一項昂貴的操作

var str = "THISISJUSTATEST";
var array = new int[26];
foreach(var character in str.ToCharArray()){
if (character >= 'A' && character <= 'Z'){
  var index = character - 'A';
  array[index]++;
  }
}
for (int i = 0; i < 26; i++) {
  var c = i +'A';
  Console.WriteLine("{0} comes {1} time(s)", (char)c, array[i]);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM