我正在尝试使用 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/

10-11 20:51