我正在尝试使用 hashSet 方法,它需要 HashEntry[] 数组。
HashSet(RedisKey key, HashEntry[] hashFields, CommandFlags flags = CommandFlags.None);
我正在尝试这样做,但这显然不起作用......
我有字典值
HashEntry[] hash = new HashEntry[value.Count]();
int index = 0;
foreach (var item in value)
{
hash[index].Name = item.Key;
hash[index].Value = item.Value;
index++;
}
最佳答案
HashEntry
是不可变的;你需要:
hash[index++] = new HashEntry(item.Key, item.Value);
或者也许更方便:
var fields = dictionary.Select(
pair => new HashEntry(pair.Key, pair.Value)).ToArray();
出于好奇,这里的
Dictionary<TKey,TValue>
的确切类型是什么?为方便起见,添加一些重载可能是合理的。另一个方向已经有一些方便的方法,例如 ToDictionary(...)
和 ToStringDictionary(...)
。关于c# - 将字典转换为 HashEntry,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28403915/