【发布时间】:2014-04-28 04:45:04
【问题描述】:
我有以下代码:
class Program
{
private unsafe static void SquarePtrParam(int* input)
{
*input *= *input;
}
private static void SquareRefParam(ref int input)
{
input *= input;
}
private unsafe static void Main()
{
int value = 10;
SquarePtrParam(&value);
Console.WriteLine(value);
int value2 = 10;
SquareRefParam(ref value2);
Console.WriteLine(value2);
//output 100, 100
Console.ReadKey();
}
}
在方法中传递指针和 ref 关键字作为参数有什么区别?
【问题讨论】:
-
您想知道为什么必须为此在 C# 项目设置中启用
unsafe选项吗?如果您只使用ref,则不必这样做。