【发布时间】:2011-09-04 04:51:56
【问题描述】:
C# 中的string 类型是引用类型,通过值传递引用类型参数会复制引用,因此我不需要使用ref 修饰符。但是,我需要使用ref 修饰符来修改输入string。这是为什么呢?
using System;
class TestIt
{
static void Function(ref string input)
{
input = "modified";
}
static void Function2(int[] val) // Don't need ref for reference type
{
val[0] = 100;
}
static void Main()
{
string input = "original";
Console.WriteLine(input);
Function(ref input); // Need ref to modify the input
Console.WriteLine(input);
int[] val = new int[10];
val[0] = 1;
Function2(val);
Console.WriteLine(val[0]);
}
}
【问题讨论】: