如何将 Redis ArrayRedisResult 转换为 C# 数组?

Posted

技术标签:

【中文标题】如何将 Redis ArrayRedisResult 转换为 C# 数组?【英文标题】:How to convert a Redis ArrayRedisResult into a C# array? 【发布时间】:2016-07-05 10:34:05 【问题描述】:

我想将 Redis 返回的数组表转换为在我的 C# 代码中使用。我怎样才能做到这一点 ?

调试完代码,可以看到他返回了一个ArrayRedisResult

string script = @"return redis.call('HGETALL', @key)";
LuaScript lScript = LuaScript.Prepare(script);
var lLScript = lScript.Load("myServerinformation");
var result = lLScript.Evaluate("myDatabaseInformation", "myKey");

提前致谢

【问题讨论】:

【参考方案1】:

取自 OP 在一些评论中所说的其他答案:

百万美元的问题是如何将其转换为类型数组 C#会懂吗?

当你意识到你的问题有一个非常简单的答案时你会哭的:ArrayRedisResult 可以转换为很多数组类型:string[]bool[]...Check its source code.

归根结底,只是编写一个显式演员表:

var result = (string[])lLScript.Evaluate("myDatabaseInformation", "myKey");

【讨论】:

非常感谢。答案真的不远了。 @eddy0223 是的。我们应该请 Marc Gravell 知道他为什么决定将这些运算符实现为 explicit 而不是 implicit。使用隐式运算符,您可以将结果键入为 string[] 并且您不需要显式转换;P

以上是关于如何将 Redis ArrayRedisResult 转换为 C# 数组?的主要内容,如果未能解决你的问题,请参考以下文章

如何将redis window加入服务?

如何将Redis注册为本地服务

如何通过Python将JSON格式文件导入redis?

如何将javascript数组保存为redis列表

如何将 SQL 表转换为 Redis 数据

如何将 Redis 与 docker 中的哨兵连接起来?