我正在寻找如何在列表中以相同顺序出现两个单词的计数器。由于单词可以变化(我使用Console.ReadLine输入它们)我无法弄清楚该怎么做。我的列表格式例如:
list[0] : list[1] (1) //this is where i want count
list[1] : list[2](1)
所以说的话是:
Hello : I
am : John
Hello : I
![when the program runs](http://imgur.com/HelGjxV)
顺便说一下,第二句写的就是我输入的内容。当第二个Hello:我进入列表。我怎么能设置计数器(1)更新为2.任何帮助将不胜感激。到目前为止,我将包含我的相关代码:
List<string> list = new List<string>();
list.AddRange(words);
list.AddRange(words1);
//counts total number of words in list.
int count = 0;
count = list.Count(d => list.Contains(d));
//Displays occurance
for (int i = 0; i < list.Count - 1; i++)
list[i] = string.Format("{0} : {1}", list[i], list[i + 1]);
list.ForEach(Console.WriteLine);
答案 0 :(得分:0)
您可以将词典用于这种类型的操作
Dictionary<string,List<int>> dict = new Dictionary<string,List<int>>();
if(dict.ContainsKey(wordkey))
//update the key
dict[word].Add(newIndex);
else
{
var newList = new List();
newList.Add(index);
dict.Add(worditem,newList);
}
答案 1 :(得分:0)
列表(T).FindAll方法就是你想要的。
此处提供示例代码 http://msdn.microsoft.com/en-us/library/fh1w7y8z(v=vs.110).aspx