需要帮助确定正确的方式来存储文本的每个字符

时间:2016-03-26 14:12:25

标签: c#

所以这是交易。假设我有一个" .txt"包含某种文本(任何)的文件。我需要一个程序来读取文本中的每个字符,包括符号,数字,空格等。我需要它来计算读取的每个字符的出现次数。

现在通过char读取文本char非常简单:

 string text = File.ReadAllText("text.txt");
 foreach (char c in text) Console.WriteLine(c);

从.txt文件中保存每个字符并在之后使用它们的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

因为您需要字符以及出现的字符的出现次数。考虑使用Dictionary<char,int>来帮助您:

Dictionary<char,int> dict = new Dictionary<char,int>();
for (char c in text){
    if (dict.ContainsKey(c)) //exist add count of the existing item
        dict[c] = dict[c] + 1;
    else //does not exist, create new item
        dict.Add(c,1);
}

使用Dictionary,您可以执行以下类似的操作,这些内容似乎最符合您的需求:

dict.Keys; //to get all characters (Keys) you store in the dictionary before
dict.ContainsKey('a'); //to check if the Dictionary has 'a' as one of its keys
dict['a']; //to get the value dictionary item with character 'a' as its Key
dict.Add('a',1); //add new key 'a' to the dictionary with the value of 1

答案 1 :(得分:1)

我想说使用List会在这种情况下起作用。