前一段时间老用ref与out 感觉他们的效果差不多,就去网上查了一下他们的区别,网上说的概念性的东西太多了,后来通过自己的摸索发现他们有一个规律
ref: 在引用方法之外必须赋初值
static void TestRefAndRef() { string s1="test"; TestRef(ref s1); } static void TestRef(ref string str) { Console.WriteLine(str); }
out:在引用方法内必须赋初值
static void TestRefAndOut() { string s1; TestOut(out s1); } static void TestOut(out string str) { str = "test"; Console.WriteLine(str); }