我还在还挺新的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