我如何将其转换为for循环?

时间:2015-06-20 02:21:14

标签: c#

嘿,我想知道如何把它变成for循环,所以我不必为字母表中的每个字母复制26次:

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

count是一个空白整数数组,它取26个值,表示字母表中字母的字母数字的字符串,存储在一个名为letters的字符串数组中

3 个答案:

答案 0 :(得分:4)

我会使用def self.search(query) where("description like ?", "%#{query}%") end 函数,而不是拆分和创建新数组。然后,您可以循环遍历每个字符,或循环现有数组。

Count()

答案 1 :(得分:0)

这里有一个:

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();

}

答案 2 :(得分:0)

您可以使用数组存储每个字符的计数。拆分将是一项昂贵的操作

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]);
}