- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个 .NET 通用字典<>,我想将它传递给我在 Jint 中运行的 JavaScript 函数。
Jint 不会像对待 JavaScript 对象一样对待 .NET 字典,后者可以像对待字典一样对待。您可以访问对象的 .NET 属性和方法,但不能访问扩展方法。
因此,虽然我可以获得字典键的计数,但我无法枚举它或对其调用 ToArray()。
我可以使用 dict[key] 从字典中读取值,但在这种情况下我事先不知道键。
如何枚举键或获取 .NET 通用词典中的所有条目?
我愿意在传递字典之前对字典做一些事情或转换它,或者弄清楚如何在 JavaScript 中完成它。我宁愿不必单独传递一组键。这是在另一个数据结构中,对每个字典都这样做会使它变得更复杂,但如果我找不到其他解决方案,这是我正在考虑的选项之一。
我宁愿远离使用动态。过去大量使用时,我遇到过内存泄漏的问题。
最佳答案
我刚刚遇到了同样的问题,并通过使用字典上的枚举器解决了这个问题:
// Javascript in Jint:
var enumerator = myDictionary.GetEnumerator();
while (enumerator.MoveNext()) {
var key = enumerator.Current.Key;
var value = enumerator.Current.Value;
// do stuff with key and/or value
}
如果您对两者都不感兴趣,您可以采用同样的方式迭代 myDictionary.Keys 或 myDictionary.Values。
注意:您提到您可以使用 dict[key]
。至少对于我来说,我有一个复杂的 struct
作为键,这是行不通的。显然 Jint 不能很好地处理通用索引器并抛出:System.InvalidOperationException: No matching indexer found。
关于javascript - 如何在 Jint 中枚举字典<>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46110037/
我想在 Jint 下使用 DynamicObject 类,我已经构建了一个示例来实现它。第一个断言正确通过,但在第二个断言时失败。 有没有办法做到这一点,或者您是否知道任何其他使之成为可能的 java
我目前正在开发一个需要 JS 支持的项目(实际程序是用 C# 编写的),并使用 Jint 作为解释器。在进行任何进一步的工作之前,我进行了基本的性能测试,以找出编译器(例如 Chrome V8)和解释
我试图通过 jint 将对象传递给 javascript 函数并返回一个值。但这似乎不起作用。到目前为止,这是我尝试过的 - 错误- Jint.Runtime.JavaScriptException:
我希望允许在 Jint 中运行的脚本访问我已设置为命名空间的预先存在的 API。我的意思是我有一个包含 API 的命名空间,包括其他命名空间。我不想让脚本访问其余的代码 - 包括 .Net 框架。 我
我正在使用 Jint 在我的 c# 项目中执行 javascript,并且我需要访问数组上的函数,例如 map、filter、reduce 等。从我在这里找到的内容来看,Jint 中不提供 nativ
我有一个 .NET 通用字典<>,我想将它传递给我在 Jint 中运行的 JavaScript 函数。 Jint 不会像对待 JavaScript 对象一样对待 .NET 字典,后者可以像对待字典一样
我想了解如何Jint ,一个用 C# 编写的 JavaScript 解释器可以工作。具体来说: 它如何使用 Antlr? 哪些部分(如果有)或这个项目是新颖的,哪些部分代表现有 JS 解释器到 C#.
是否可以使用 jint操纵使用 XNA (C#) 创建的 3D 环境,并向该环境添加功能(再次使用 jint)? 最佳答案 作为 Jint 的贡献者,我会推荐你 Jint . Jint 使它比 L
我一直在使用 Jint运行服务器端 JavaScript 代码,到目前为止我非常喜欢它。我遇到的一个问题是调试。 JInt 公开了可以在执行语句或命中断点时触发的事件。 As mentioned on
你好,我想在静态类中创建一个类以在 JINT 中使用,但是当它被引用时我得到一个错误 C#代码 namespace Hi { public static class Ok {
我正在使用 Jint,我想知道是否有一种方法可以从 C# 的 Angular 来看在脚本的全局范围内获取所有已定义的变量和函数。 例如,给定文件“test.js”中的以下 Javascript 代码:
我已成功遵循本教程 https://www.youtube.com/watch?v=kFtxo7rr2HQ了解如何使用 Android Studio 构建 NDK 应用。 该教程使用了一个public
我正在寻找一种在 Jint 和 C# 之间进行(来回)通信的方式。 有办法吗?将 JavaScript 加载到引擎后,我在 Jint 中运行 JavaScript 没有问题,但另一方面我在获取回调时仍
我正在使用 JINT ( https://github.com/sebastienros/jint) 开发一个 C# 项目,我需要在我的 JS 上创建一个计时器,这样它就可以在每次计时器时间设置结束时
我正在寻找一种在 JInt(C# Unity 的 javascript 解释器)中本地包含另一个 js 文件的方法。我知道我可以简单地将所有 js 文件连接到一个字符串并通过正常方式运行它。但我不想指
#include #include "Package_MyTester.h" jstring Java_Package_MyTester_NMethod (JNIEnv *env, jobject
我目前正在使用 Jint ( https://github.com/sebastienros/jint ) 来处理 JavaScript。 我希望能够在 JavaScript 中使用自定义函数,该函数
我正在尝试学习 Scala,并且正在尝试解析 JSON 文件。我有两行代码: var jVal:JValue = parse(json); val totalCount:Int = (jVal \\
当调用下面的 JNI 函数时,调用该函数的应用程序 (Android/java) 可以正确接收 dataByteArray(jbyteArray 类型)。但应用程序未收到 sizeDataByteAr
我使用 jint 来解析 javascript 代码,以下 js 代码可以工作: 1 [1] {} 但是这个失败了: {a:1} 出现此错误: int.Parser.ParserException:
我是一名优秀的程序员,十分优秀!