好吧我不知道如何做到这一点,我已经尝试过如何做到这一点,但没有什么好事情出现这么恶心在这里问。所以我想做的是:
string input = TextEditor.text; <-- this is in windows form application and
The "TextEditor" is the textbox for input
我想取字符串(从texct框输入)然后拆分它,这样每个字都在其他每一行上,如下所示:
如果输入=“我的名字是”
out put应该是:
hi: 1
my: 1
name: 1
is: 2 <-- if the word is said it shouldn't be repeated.
有人可以帮帮我吗?我是一个真正的新手,我完全迷失了。我还没有任何代码,因为我不知道如何做到这一点!
答案 0 :(得分:2)
使用Linq GroupBy和Count:
string inputText = "hi my name is is";
var words = inputText.Split(' ').ToList();
var wordGroups = words.GroupBy(w => w).Select(grp => new {
Word = grp.Key,
Count = grp.Count()
});
string outputText = string.Join("\n", wordGroups.Select(g => string.Format("{0}:\t{1}", g.Word, g.Count)));
/*
hi: 1
my: 1
name: 1
is: 2
*/
答案 1 :(得分:0)
将输入字符串拆分为数组,然后使用它来构建字典。如果单词已经在字典中,则递增它。否则添加初始值为1。
use [db_name];