Преобразовать массив String [] в массив RedisKey []

Пытаясь использовать

KeyDelete(RedisKey[] keys, CommandFlags flags = CommandFlags.None);

У меня есть массив строк [], Я не вижу никаких примеров, когда я ищу для преобразования этих типов данных. Я даже не уверен, как создать новый RedisKey.

Пытались

RedisKey redisKey = new RedisKey("d");

выше не работает, любые предложения?

Ответ 1

Из исходного кода RedisKey имеет неявное преобразование из string:

/// <summary>
/// Create a key from a String
/// </summary>
public static implicit operator RedisKey(string key)
{
    if (key == null) return default(RedisKey);
    return new RedisKey(null, key);
}

Итак, вы можете создать его на

RedisKey key = "hello";

или

var key = (RedisKey)"hello";

Чтобы преобразовать IEnumerable<string> в RedisKey[], вы можете сделать:

var keys = strings.Select(key => (RedisKey)key).ToArray();

Ответ 2

Это более оптимальный способ:

var keys = strings.Cast<RedisKey>().ToArray();