有没有办法将RedisValue []转换为string []?

时间:2014-10-01 14:09:50

标签: json stackexchange.redis

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

这就是我想要做的......

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

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

但是,这不起作用,因为resultsRedisValue的数组,而不是string的数组。除了迭代RedisValue数组之外,还有一种直接且高效的方法吗?

1 个答案:

答案 0 :(得分:13)

目前不是,但我在ExtensionMethods.cs中有just pushed以下扩展方法:

    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()。在此之前,您可以在本地复制上述内容。