我想将几个变量传递给一个函数并将它们设置为其他东西,而不是从它们中读取。我计划在可以创建对象并将其添加到执行队列的场景中使用它。指针适合这个吗?
我知道我的问题的解释很糟糕,但我不知道更好的方法来解释它。
我想将几个变量传递给一个函数并将它们设置为其他东西,而不是从它们中读取。我计划在可以创建对象并将其添加到执行队列的场景中使用它。指针适合这个吗?
我知道我的问题的解释很糟糕,但我不知道更好的方法来解释它。
public static void SetVariables(out int x, ref int y)
{
// Can't *read* from x at all before it's set
x = 10;
// Can read and write y
y++;
}
public static void Foo()
{
int setOnly;
int increment = 5;
SetVariables(out setOnly, ref increment);
Console.WriteLine("{0} {1}", setOnly, increment); // 10 6
}
有关详细信息,请参阅我的参数传递文章。
这些变量是引用类型还是值类型?如果它们是引用类型,那么您可以照常将它们传递给您的函数,然后从那里改变它的属性。如果它们是值类型,那么您必须使用ref
键盘。