问题标签 [ref]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
132 浏览

c# - 为什么这仅在使用 ref 关键字时才有效?

我有这个容器类:

我在另一个类中有一个函数,如下所示:

这很好用。

但是,我想知道为什么这不起作用:

如果我将 ChangeFruit 方法更改为不使用容器,而是使用实际的水果类,如下所示:

然后这不起作用,除非 ref 关键字与每个参数一起传递。为什么我需要 ref 关键字在这里而不是那里?

顺便说一句,在调用后者的ChangeFruit时,我是这样称呼的:

相对于ChangeFruit(myFruit);

我只想知道在传递容器类时我不需要 ref 关键字,但是当我单独传递每个水果时我需要。无论哪种方式,我都在传递 myFruit,除了在后一个示例中,我只是单独传递其成员变量而不是整个容器。

0 投票
4 回答
9654 浏览

c# - 如何保存 ref 变量以供以后使用?

所以这有效..

但是有可能做这样的事情吗?

当 ref 变量被复制到成员变量myApple时,它似乎失去了它的“ref-ness”并且重新分配它不再改变输入变量。有没有解决的办法?

0 投票
3 回答
93 浏览

c# - 在使用 REF 和数组以及方法方面需要帮助

好的,我正在使用 C# 类进行我的实验,其中涉及使用 ref 参数、数组和方法。我在执行此操作时遇到了一些问题,我正在寻求帮助。所以.. 首先,我将问题修改为最简单的部分,以帮助我解释我遇到的问题。这是一段简化的代码:

现在,当您尝试编译代码时,您注意到无法编译,因为错误说“需要对象引用才能访问非静态成员 'Repository.titles'”。问题是 3 种方法的格式必须完全按照作业中的说明发布。现在,如何在保留此模板的同时避免此问题?

其他问题,我将如何在 main 中显示方法 displayBooks 的内容?(由于问题,我还没有走到这一步)。

问候,请帮助!

- - - - - - - - - - - - 谢谢你的帮助 !!!---------

0 投票
2 回答
140 浏览

c# - 数组、方法和 ref 参数的更多问题

今天早些时候,我正在为我的 C# 类LINK TO PREVIOUS PROBLEM做作业,现在我遇到了另一个问题,我不明白哪里出了问题。所以在第一篇文章中,我遇到了静态参数的问题,所以我得到了解释和修复。但是现在,我收到一个错误消息,而不是“对象引用未设置为对象的实例”。我检查了任何拼写错误,但仍然无法运行它。PS,问题不是在编译时出现,而是在输入所有数据时出现,当我在输入数据并按回车后按 N 时。请看一下。

原因是什么?

问候,并希望得到一些建议。

PS,displayBooks 方法还没有完成。

0 投票
7 回答
15842 浏览

c# - 为什么在没有 ref 的情况下将 list 传递给一个类似于通过 ref 传递的函数?

如果我没有弄错这个严重的错误,那么这种行为对我来说很奇怪。我将在下面发布示例代码,而不是解释,请告诉我为什么我得到输出 x 而不是 y。

我假设输出应该是 3。但我得到的输出是 5。我知道如果我这样做,输出可以是 5:

0 投票
3 回答
4870 浏览

c# - 使用 ref 关键字保存对象引用以供将来使用

假设我有一个像这样的简单类:

此类保存给定其构造函数的元素,无论元素是什么。但是,“SavedElement”(其支持字段)是对在实例创建时给出的对象的引用。

有什么方法可以保存对变量的引用(就像使用 ref 关键字一样),这样如果传递给构造函数的原始项目发生更改,SavedElement会自动反映更改,几乎就像使用ref关键字传递对象一样? (即使我使用ref关键字,我也无法以这种方式保存引用。)

更新以使意图更清晰:

0 投票
1 回答
328 浏览

c# - 如何在另一个类中重新分配引用类型并使更改保持原样?

这是我要问的一个相当人为的例子:

基本上,我在主表单中存储了一个水果作为成员变量。我希望能够将它传递给我的遗传学家类,然后让它重新分配值。

当我fruit = banana;在遗传学家中键入水果时,不再指向 Form1 水果,而是指向遗传学家中的本地副本。我想我正在寻找一种模拟 ref 关键字的方法,如果我重新分配遗传学家水果,Form1 水果也会随着变化而更新。

我想我可以创建一个水果包装并将其传递给周围,但这似乎有点骇人听闻。我也可以让Engineer方法引发一个事件,以便主窗体可以重新分配值,但在我的程序的许多部分必须这样做似乎也有点混乱。

另外,我不能使用ref关键字,因为我稍后会修改它,而不是在 Geneticist 的构造函数中。

谢谢阅读!

0 投票
1 回答
1330 浏览

wcf - 如何在 WCF 中使用 ref?

我不能在 WCF 中使用 ref 来返回数据吗?

这是我的 WCF 文件。

public myDataset SearchInfo(string accountName, string accountId, ref int totalRecords)

虽然 totalRecords 是一个非零数字,但我总是得到0。我必须同时获取 myDataset 和 totalRecords。我应该如何尝试?我是 WCF 的新手。

提前致谢。

更新 :

它运作良好。我的错 !!!

0 投票
4 回答
11748 浏览

c++ - C++ 中的“ref”和“sealed”关键字是什么?

我刚刚看到一些(大概)C++ 代码,其中包含两个我不知道的“关键字”(我假设关键字,但由于我没有上下文,它们可能是简单的#define东西)。

它们似乎也没有出现在 C++11 标准中,至少是我的草案,但是,因为这是一个相当晚的草案,我无法想象它们在最后一刻才被放入标准中。它们是refsealed

我在其中找到它们的代码类似于:

有谁知道这些关键字是什么,以及它们的目的是什么?

0 投票
1 回答
3329 浏览

c++-cli - C++/CLI 调用不带参数的互操作包装器方法

我有一些非托管 DLL 调用的互操作包装器,这些调用通过 out 参数返回详细信息。函数如下所示:

所以假设方法是这样声明的:

然后如何从我的 C++/CLI 代码中调用此方法?我知道如何调用这样的参考方法很容易:

我正在做一点阅读,我正在阅读它不能完成吗?我不相信......这可能不是不可能克服或解决的,但你一定是在开玩笑吧?这是真的吗?

谢谢...