我還在還挺新的C#,有件事情我不能完全得到認真處理:基本的C#查詢
在VBA例如,如果有一些代碼,我需要在整個應用程序,我會把它放進一個函數然後調用它在以往任何時候,我需要它只是通過使用該功能的名稱,如
Sub Something()
If variable = x then
RunMyFunction
end if
End Sub
是否有調用可重用的代碼在C#中的一個類似的方式?我的確意識到它是一個完全不同的野獸什麼伊夫與
前感謝
我還在還挺新的C#,有件事情我不能完全得到認真處理:基本的C#查詢
在VBA例如,如果有一些代碼,我需要在整個應用程序,我會把它放進一個函數然後調用它在以往任何時候,我需要它只是通過使用該功能的名稱,如
Sub Something()
If variable = x then
RunMyFunction
end if
End Sub
是否有調用可重用的代碼在C#中的一個類似的方式?我的確意識到它是一個完全不同的野獸什麼伊夫與
前感謝
是的,我有時會創建一個名爲CommonFunctions.cs
新的類,這個類裏面我會有方法:
public class CommonFunctions
{
public static void Something(int Variable)
{
if(Variable == 5)
CommonFunctions.RunAnother();
}
public static void RunAnother()
{
}
}
感謝所有的輸入 - 現在更清晰! – DarkW1nter 2011-05-05 14:51:40
private void Something()
{
if (variable == x)
{
RunMyFunction();
}
}
private void RunMyFunction()
{
// does something
}
換句話說工作 - 這是基本相同的。你將你的可重用函數定義爲一個方法(上面的RunMyFunction),然後按名稱(括號)來調用它。
您將'x'分配給'variable'而不是比較它們。 – 2011-05-05 13:11:01
@FrédéricHamidi - 錯字 - 只是測試:) – 2011-05-05 13:12:07
是的C#也有函數。 Sub實際上是一個void
「返回值」的函數。
你的代碼轉換爲C#的那麼粗的翻譯是:
string RunMyFunction()
{
return "hello";
}
void Something(variable, x)
{
if (variable == x)
{
string value = RunMyFunction();
//.....
}
}
這裏是一個函數的例子:
public int AddNumbers(int number1, int number2)
{
int result = number1 + number2;
if(result > 10)
{
return result;
}
}
您可能會發現這篇文章有用:
http://csharp.net-tutorials.com/basics/functions/
您需要從VBA製作的最大離開是C#是真正面向對象。你必須習慣於函數是你必須實例化的類的成員(在大多數情況下)。
如果你的函數沒有返回值,使用無效:
private void FunctionName()
{
// Do something...
}
如果函數返回值大於函數名稱前有值類型:
private int FunctionNameReturnInt(int a, int b)
{
// Do something...
int res = a + b;
return num;
}
...
// Calling functions
FunctionName();
int res;
res = FunctionNameReturnInt(1,2);
`
這是一個笑話?不重要的是,你不需要我們的答案,你需要一門關於(面向對象)編程的課程或好書。當然,這就是所謂的「功能」。它在VB(A)中聲明的方式非常接近。public void testFunc(){Console.WriteLine(「Hello World!」); }'。我已經投票結束這個,只是爲了記錄。 – Bobby 2011-05-05 13:10:04
不是一個笑話 - 只是試圖找到我的方式在c#中尋找新的東西 – DarkW1nter 2011-05-05 13:11:58
當你調用一個函數時,你必須在函數名的末尾加上括號,並且在每行的末尾還有一個分號,即myFunction()。 – Menahem 2011-05-05 13:12:04