基本上,我有一个包含所有词汇的字典作为键,值都为0。
为了将文档处理成词袋表示,我曾经使用适当的IEqualityComparer复制该字典,并简单地检查字典是否包含文档中的每个单词并增加其键。
为了获取词袋表示的数组,我只需使用ToArray方法即可。
这似乎很好用,但我刚刚被告知,字典不能保证相同的键顺序,因此生成的数组可能以不同的顺序表示单词,使其无用。
解决这个问题的我的当前想法是将词语字典的所有键复制到ArrayList中,创建正确大小的数组,然后使用数组列表的indexOf方法填充数组。
所以我的问题是,有没有更好的方法来解决这个问题?我的方法似乎有点粗糙... 我会不会因为IEqualityComparer而遇到问题?
为了将文档处理成词袋表示,我曾经使用适当的IEqualityComparer复制该字典,并简单地检查字典是否包含文档中的每个单词并增加其键。
为了获取词袋表示的数组,我只需使用ToArray方法即可。
这似乎很好用,但我刚刚被告知,字典不能保证相同的键顺序,因此生成的数组可能以不同的顺序表示单词,使其无用。
解决这个问题的我的当前想法是将词语字典的所有键复制到ArrayList中,创建正确大小的数组,然后使用数组列表的indexOf方法填充数组。
所以我的问题是,有没有更好的方法来解决这个问题?我的方法似乎有点粗糙... 我会不会因为IEqualityComparer而遇到问题?