[英]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.