如何避免ref参数?

Otu*_*uyh 1 c# anonymous pass-by-reference

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

public void ReplaceSomething(ref int code, ref string name)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想避免这种情况,因为它不是一个好的设计(并且很难缩放).我有什么选择?

我虽然使用匿名对象,但这似乎也不是一个好主意.

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

ReplaceSomething(something);
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 6

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

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

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