c# - 如何避免 ref 参数?

标签 c# pass-by-reference anonymous

我有一个方法有 2 个 ref 参数:

public void ReplaceSomething(ref int code, ref string name)
{
    ...
}

我想避免这种情况,因为它不是一个好的设计(而且扩展性很差)。我有哪些选择?

我考虑过使用匿名对象,但这似乎也不是一个好主意。

Object something = new { code = 1, name = "test" };

ReplaceSomething(something);

最佳答案

代码和名称是否紧密联系在一起?如果是这样,请考虑创建一个类型将它们放在一起。然后您可以返回该类型的值。

或者,您可以考虑返回 Tuple<int, string> .

(当然,在这两种情况下,您都可以接受相同类型的输入参数。由于您没有显示任何代码,因此不清楚您是否使用参数的现有值,或者它们是否可以基本上是 out 参数。)

关于c# - 如何避免 ref 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9470444/

相关文章:

c# - 在 C# 中附加事件处理程序的两种不同方式是否存在实际差异?

c# - Web API 如何返回多种类型

c++ - 传递参数之间的区别

c# - C# 3.0 中匿名方法的闭包

java - 为什么java中的 "super type token"模式需要匿名类

c# - WPF中如何将数据绑定(bind)到gridcontrol

c# - C# 多线程代码中的高 CPU 使用率

java - 有人可以向我解释在 Java 中传递 "value"而不是传递 "reference"的原因是什么吗?

java - 参数列表中引用变量占位符的术语

json - 避免从表行构建的 JSON 中的匿名字段