问题描述
我有一个 Span<byte>
保存字符缓冲区。缓冲区包含文本。我想计算每个单词的频率。如何在不使用字符串的情况下以最少的分配和复制来做到这一点?
使用字符串非常简单,我会将单词放在 Dictionary<string,int>
中,并允许我查看当前单词是否已经在集合中。
尝试使用结构如
ref struct Word
{
public Span<byte> content;
public int GetHashCode() {...}
public bool Equals(Word other) {...}
}
不适用于字典,因为字典是在堆上分配的,而 ref 结构不是。我想使用一个集合来保存搜索时间少于 O(n) 的单词。
我不需要使用 Span 来保存单词。要求是:最少的分配和复制以及快速搜索。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)