我从RedisValue[]
客户端返回了一个数组StackExchange.Redis
。我想在数组中获取每个值(实际上是JSON
个字符串)并将它们连接在一起以获得一个有效的JSON
字符串,我可以将其返回给客户端。
这就是我想要做的......
var results = redis.HashGet("srch", ArrayOfRedisKeys[]);
string returnString = "[" + string.Join(results, ",") + "]";
但是,这不起作用,因为results
是RedisValue
的数组,而不是string
的数组。除了迭代RedisValue
数组之外,还有一种直接且高效的方法吗?
答案 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()
。在此之前,您可以在本地复制上述内容。