问题标签 [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 投票
6 回答
22369 浏览

c# - 为什么我需要在声明和调用中都使用 ref 关键字?

重复:调用者的“out”关键字的目的是什么?

为什么我需要在声明和调用中都使用'ref'关键字。

例如,考虑上述功能。如果我在没有 ref 关键字的情况下调用它

它会给我错误:

参数 '1' 必须与 'ref' 关键字一起传递

为什么仅在方法签名中指定还不够?

0 投票
3 回答
3377 浏览

c - GCC 新的原子整数运算的替代方案

GCC 最近对原子操作的支持(如此所述)非常好,是我们需要的 90%。不幸的是,我们的一些产品仍然需要在 Windows 上运行,因此我们也需要在 Windows 上进行原子整数操作。

过去,我们对所有平台都有自定义的汇编语言实现,但我想将所有 *nix 平台转移到 GCC 支持的操作上,我想到也许还有一种更标准的方法来做到这一点现在也在 Windows 上...

在 Windows 上是否有官方认可的方法(除了自己用汇编语言实现它们)?

0 投票
3 回答
3465 浏览

c# - 是否可以在 C# 中使用运行时生成的字段名称访问对象的字段

这就是我的意思:

我需要能够替换这个丑陋的 C# 代码:

变成这样的东西:

没有 ConvertStringToObjectField() 方法,但如果可能的话,我想要这样的东西。我可以访问 machinePool 对象类代码,因此我可以添加必要的代码,但我不确定它可能是什么代码,甚至是否可以在 C# 中执行。

0 投票
1 回答
686 浏览

asp.net - 使用 ref 将 GridView 列传递给方法

所以我正在处理这个从 VB 到 C# Web 应用程序的迁移,遇到了一个我希望可以轻松解决的问题。有一个使用 GridView 控件的网络表单。在代码中,它将列集合传递给一个方法,该方法根据用户、权限和环境动态添加列。因此,这些列使用 ByRef 传递到 VB 中的函数中,如下所示:

现在在 C# 中,我使用了 ref 关键字,但列集合没有设置器。我最快的解决方法是什么?我将很快将其转换为 jQuery 网格,因此我不关心最佳实践,而只是让它工作。

这是在 C# 中:

就是这样称呼的...

0 投票
8 回答
4096 浏览

c# - C# 参考参数传递

我有一段代码不起作用,我会很感激你们可以为我提供的任何帮助

下面的代码正在生成一个异常......但我认为它不应该,除非我误解了 ref 语义。

编辑:感谢所有的回答......我知道我在 One.Produce 方法中创建了一个新的 Queue 对象......但这是我真正想要做的,我希望 Main._queue 持有参考到 One._queue。这有可能吗?

0 投票
7 回答
17040 浏览

c# - 在 C# 中将 REF 和 OUT 关键字与按引用传递和按值传递一起使用

到目前为止,这是我的理解:

传递价值

按值传递意味着传递参数的副本。对该副本的更改不会更改原件。

通过引用

通过引用传递意味着对原始的引用被传递。对参考的更改会影响原件。

REF 关键字

REF 告诉编译器对象在进入函数之前已经初始化。REF 表示该值已设置,因此该方法可以读取并修改它。REF 有两种方式,既进又出。

OUT 关键字

OUT 告诉编译器对象将在函数内部初始化。OUT 表示该值尚未设置,因此必须在调用 return 之前设置。OUT只是一种方式,就是out。

问题

那么在什么情况下你会结合使用 ref 和 out 关键字,通过引用传递还是按值传递呢?例子会有很大帮助。

非常感谢帮助。

0 投票
1 回答
4819 浏览

oracle - 类型参考范围

我正在研究数据库,目前正在从事一个对象关系数据库项目,我遇到了一个关于对象表中可能的约束数量的小问题。我正在使用 Hector Garcia-Molina(和其他作者)的“数据库系统:全书”作为参考,并且有一个像这样的一般 SQL 示例:

现在,我的项目中有一种类似的类型,因为它还使用对类型中的另一种类型的引用,但是在其中放置引用的子句不包括 Oracle 中的 SCOPE(至少我还没有找到它在文档中并输出错误)。所以我有这样的类型:

...这行得通。但是当我想约束 REF 列时,我只能约束一个,如下所示:

有没有办法给两个 REF 列提供约束?

0 投票
4 回答
1516 浏览

c# - 如何将结构从 C# 解析为 C++ dll?

我正在尝试调用非托管 C++ dll 中的函数。

它有这个原型:

这就是我在 C# 中定义 BII_Template 结构的方式:

它构建并且当我运行它时 dll 返回 error_code = "记录校验和无效。"

我假设我ref以错误的方式使用或结构中某些元素的大小是错误的。

- - - 编辑 - - - - - -

这是 C++ 中的结构:

0 投票
1 回答
6219 浏览

c# - 带 ref 参数的委托

有没有办法在下面的代码中保持相同的功能,但不必创建委托?我正在与包含许多不同 DeleteSomethingX(ref IntPtr ptr) 方法的第 3 方 API 进行交互,并且我正在尝试集中用于 IntPtr.Zero 检查的代码。

0 投票
2 回答
882 浏览

c# - 如何对以下方法进行单元测试,使用“ref”返回值

我在业务层有类似的方法。我是单元测试的新手,有时会感到困惑。对于一个想法,您能否建议,测试这种方法行为的更好方法是什么?我正在使用 C# NUnit 和 Moq

在哪里

Adapter= Visual Studio 2008,数据集设计器生成的 TableAdater

AddDeveloperCategoryReturnID()= 在 DB 中使用存储过程的函数的名称

它添加了一条新记录“类别”并返回其自动生成的 ID。如果它不为零,我们将该结果用于进一步处理。

我知道不应该对与数据库交谈感兴趣,下面是过程,只是为了让您了解数据库中发生了什么

一些问题

  • 如何检查方法中使用“ref”返回的值
  • 你更喜欢测试什么而不是测试?如果可以列出会很棒