我仍然是c#的新手,并且有些东西我无法理解:
在VBA中,例如,如果我需要在整个应用程序中使用一些代码,我会把它放在一个函数中,然后只需使用函数的名称就可以调用它,例如
Sub Something()
If variable = x then
RunMyFunction
end if
End Sub
在c#中调用可重用代码有类似的方法吗?我确实意识到它与我之前合作过的完全不同的野兽
感谢
答案 0 :(得分:2)
private void Something()
{
if (variable == x)
{
RunMyFunction();
}
}
private void RunMyFunction()
{
// does something
}
换句话说 - 它基本相同。您可以将可重用函数定义为方法(上面的运行函数),然后按名称(带括号)调用它。
答案 1 :(得分:2)
是的C#还带有功能。 Sub实际上是一个void
“返回值”的函数。
所以你的代码粗略地翻译成C#将是:
string RunMyFunction()
{
return "hello";
}
void Something(variable, x)
{
if (variable == x)
{
string value = RunMyFunction();
//.....
}
}
答案 2 :(得分:0)
以下是一个函数示例:
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#是真正面向对象的。你必须习惯于函数是你必须实例化的类的成员(在大多数情况下)。
答案 3 :(得分:0)
是的,我有时会创建一个名为CommonFunctions.cs
的新类,在这个类中我会有方法:
public class CommonFunctions
{
public static void Something(int Variable)
{
if(Variable == 5)
CommonFunctions.RunAnother();
}
public static void RunAnother()
{
}
}
答案 4 :(得分:0)
如果您的函数没有返回值,请使用void:
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);
`