Tôi có một mảng RedisValue[]
được trả về từ máy khách StackExchange.Redis
. Tôi muốn lấy từng giá trị (thực ra là các chuỗi JSON
) trong mảng và nối chúng lại với nhau để nhận được một chuỗi hợp lệ JSON
mà tôi có thể trả lại cho máy khách.Có cách nào để chuyển đổi RedisValue [] thành chuỗi [] không?
Đây là những gì tôi muốn làm ...
var results = redis.HashGet("srch", ArrayOfRedisKeys[]);
string returnString = "[" + string.Join(results, ",") + "]";
Tuy nhiên, điều này không làm việc vì results
là một mảng của RedisValue
không phải là một mảng của string
. Có cách nào tiến thẳng và hiệu quả để thực hiện việc này ngoài việc lặp lại mảng RedisValue
?
ALERT. Lưu ý nếu các giá trị là null, bạn sẽ không bao giờ thành công với 'values.ToStringArray()', tốt hơn nên dùng nó như 'ToStringArray (values)' mà không có phương thức mở rộng 'this' – Jaider
@Jaider bạn có thể gọi các phương thức mở rộng trên' null' giá trị. Sau đây sẽ làm việc tốt: 'RedisValue [] vals = null; string [] foo = vals.ToStringArray(); '-' foo' sẽ là 'null', vì' return' đầu tiên. Điều này làm việc * chính xác bởi vì * trình biên dịch chỉ đơn giản là viết lại này như là 'string [] foo = ExtensionMethods.ToStringArray (vals);' –
Wow, tôi rất ấn tượng! sau đó bỏ qua bình luận trước đó của tôi :) – Jaider