今天看泛型的时候,遇到这样的一个问题。
调用一次 Copy(lst1, lst2);
页面输出lst2.Count为2;
而调用changestr(a, b);页面输出还是222。
代码如下 :
public List<int> lst1 = new List<int>();
public List<int> lst2 = new List<int>();
public string a = "111";
public string b = "222";
protected void Page_Load(object sender, EventArgs e)
{
lst1.Add(2);
lst1.Add(4);
Response.Write(lst2.Count);//输出0
Copy(lst1, lst2);
Response.Write(lst2.Count);//输出2
changestr(a, b);
Response.Write(b);//输出222
}
public static void Copy<T>(List<T> source, List<T> destination)
{
foreach (T obj in source)
{
destination.Add(obj);
}
}
public static void changestr(string a1, string b1)
{
b1 = a1;
}
changestr(ref a, ref b);
Response.Write(b);
public static void changestr(ref string a1,ref string b1)
{
b1 = a1;
}