12

RedisValue[]我有一个从客户端返回的数组StackExchange.Redis。我想获取数组中的每个值(实际上是JSON字符串)并将它们连接在一起以获得JSON可以返回给客户端的有效字符串。

这就是我想做的...

var results = redis.HashGet("srch", ArrayOfRedisKeys[]);

string returnString = "[" + string.Join(results, ",") + "]";

但是,这不起作用,因为results它是一个数组而RedisValue不是string. RedisValue除了迭代数组之外,是否有一种直接且高效的方法来执行此操作?

4

1 回答 1

19

目前不是,但我刚刚将以下扩展方法推入ExtensionMethods.cs

    static readonly string[] nix = new string[0];
    /// <summary>
    /// Create an array of strings from an array of values
    /// </summary>
    public static string[] ToStringArray(this RedisValue[] values)
    {
        if (values == null) return null;
        if (values.Length == 0) return nix;
        return Array.ConvertAll(values, x => (string)x);
    }

所以:在下一个版本中,您可以只使用results.ToStringArray(). 在那之前,您可以在本地复制上述内容。

于 2014-10-01T15:15:19.293 回答