C#中有三個關鍵字
NO
一個可以讓方法(函數)的擁有可變參數的關鍵字
原則
示例(拷貝到vs
public partial class Form
public static void UseParams(params int[] list)
string temp =
for (int i =
temp = temp +
MessageBox
}
public static void UseParams
string temp =
for (int i =
temp = temp +
MessageBox
}
public Form
InitializeComponent();
}
private void button
UseParams(
UseParams(
UseParams
int[] myarray = new int[
UseParams(myarray); //看也可以是容器類
}
}
NO
這是一個引用傳遞L
原則一
原則二
原則三
原則四
原則五
原則六
class MyClass
{
public void MyMethod(int i) {i =
public void MyMethod(out int i) {i =
}
而以下重載聲明是無效的
class MyClass
{
public void MyMethod(out int i) {i =
public void MyMethod(ref int i) {i =
}
有關傳遞數組的信息
NO
ref僅僅是一個地址!!!
原則一
原則二
原則三
原則四
原則六
class MyClass
{
public void MyMethod(int i) {i =
public void MyMethod(ref int i) {i =
}
但以下重載聲明是無效的
class MyClass
{
public void MyMethod(out int i) {i =
public void MyMethod(ref int i) {i =
}
有關傳遞數組的信息
示例
public static string TestOut(out string i)
i =
return
}
public static void TestRef(ref string i)
//改變參數
i =
}
public static void TestNoRef(string refi)
// 不用改變任何東西
refi =
}
public Form
InitializeComponent();
}
private void button
string outi; //不需要初始化
MessageBox
//輸出
MessageBox
//輸出
string refi =
TestRef(ref refi); // 調用參數
MessageBox
//輸出
TestNoRef(refi); //不使用ref
MessageBox
//輸出
}
From:http://tw.wingwit.com/Article/program/net/201311/12015.html