У меня есть массив RedisValue[]
, возвращенный с клиента StackExchange.Redis
. Я хочу взять каждое из значений (которые фактически являются строками JSON
) в массиве и объединить их, чтобы получить допустимую строку JSON
, которую я могу вернуть клиенту.Есть ли способ конвертировать RedisValue [] в строку []?
Вот что я хочу сделать ...
var results = redis.HashGet("srch", ArrayOfRedisKeys[]);
string returnString = "[" + string.Join(results, ",") + "]";
Однако, это не работает, потому что results
является массивом RedisValue
не массив string
. Есть ли прямой и эффективный способ сделать это иначе, чем просто повторить массив RedisValue
?
ALERT. Обратите внимание, что если значения равны нулю, вы никогда не преуспеете с 'values.ToStringArray()', поэтому лучше использовать его как 'ToStringArray (значения)' без метода расширения 'this' – Jaider
@Jaider вы можете вызывать методы расширения на' null' значения. Следующее будет прекрасно работать: 'RedisValue [] vals = null; string [] foo = vals.ToStringArray(); '-' foo' будет 'null', из-за первого' return'. Это работает * именно потому, что * компилятор просто перезаписывает это как 'string [] foo = ExtensionMethods.ToStringArray (vals);' –
Вау, я впечатлен! то проигнорируйте мой предыдущий комментарий :) – Jaider