根据C#中的输入对字符串进行分类

时间:2014-11-01 12:22:47

标签: c# arrays string input categories

标题就像tl; dr版本,这就是我的意思:

我目前只是一个字符串(是一个带文本的文件),我将这个字符串分成单独的单词。我想制作一个允许我根据字符串/文件标记单词的方法。例如:

string nameOfString = "John likes pancakes";

Categorize(string nameOfString, class nameOfCategory)

这种方法会让John,like和pancakes成为一个类别(比如Stupid,bestTexts),我将其传递给nameOfCategory。 我想把这些单词计算到所有类别中,所以可能应该使用某种类型的数组顶部做到这一点。有人可以帮我弄这个吗?最大的问题是我真的不知道如何传递类别(作为一个单独的类或只是一个字符串,也许是字符串[]?)并且仍然可以计算它。

1 个答案:

答案 0 :(得分:1)

static void Main(string[] args)   
{ 
    var inputList = new List<string>
    {
        "John likes pancakes",
        "John hates watching TV",
        "I like my TV",
    };

    var dic = new Dictionary<string, int>();
    inputList.ForEach(str => AddToDictionary(dic, str));

    foreach (var entry in dic)
        Console.WriteLine(entry.Key + ": " + entry.Value);
}

static void AddToDictionary(Dictionary<string, int> dictionary, string input)
{
    input.Split(' ').ToList().ForEach(n =>
    {
        if (dictionary.ContainsKey(n))
            dictionary[n]++;
        else
            dictionary.Add(n, 1);
    });
}