76

我是c#的初学者,对学习c#有浓厚的兴趣,但我很困惑。当我问某人函数和方法之间有什么区别时,他对我说没有区别,它们都具有相同的功能。
现在我很困惑,想从优秀的开发人员那里知道什么是方法和功能?

他们都一样吗?如果没有,那么我如何初始化每个?

这种初始化函数的方法正确吗?

public void UpdateLeaveStatus(EmployeeLeave objUpdateLeaveStatus)

由于我是新手,请提供适当的帮助。

4

8 回答 8

69

当函数是类的一部分时,它被称为方法。

C# 是一种 OOP 语言,没有在类之外声明的函数,这就是为什么 C# 中的所有函数实际上都是方法的原因。

虽然,除了这种形式上的差异之外,它们是相同的......

于 2012-09-04T07:57:10.977 回答
56

两者都是相同的,没有区别,只是 C# 中同一事物的不同术语。

方法

在面向对象的编程中,方法是与类关联的子例程(或过程或函数)。

关于面向对象的编程,使用术语“方法”,而不是函数。

于 2012-09-04T07:50:22.033 回答
14

在 C# 中,它们是可互换的(尽管方法是专有名词),因为如果不将方法合并到类中,就无法编写方法。如果它独立于一个类,那么它将是一个函数。方法是通过指定类操作的函数。

于 2012-12-26T07:09:10.040 回答
4

c#中没有函数。有方法(典型方法public void UpdateLeaveStatus(EmployeeLeave objUpdateLeaveStatus):)链接到 msdn 和仿函数 - 类型的变量Func<>

于 2012-09-04T07:51:53.973 回答
3

好吧,在某些编程语言中,它们被称为函数,而另一些则称为方法,事实是它们是同一回事。它只是表示引用数学函数的抽象形式:

f -> f(N:N).

意味着它是一个具有自然数值的函数(只是一个例子)。因此,除了名称之外,它完全一样,代表一段代码,其中包含解决您的目的的指令。

于 2012-09-04T07:52:28.427 回答
3

两者都是一样的,都是一个术语,意思是将一些代码封装到一个可以从其他地方调用的工作单元中。

从历史上看,“方法”是不返回值的东西,而“函数”是返回值的东西,可能存在细微的差别。在 C# 中,这将翻译为:

public void DoSomething() {} // method
public int DoSomethingAndReturnMeANumber(){} // function

但实际上,我重申这两个概念确实没有区别。

于 2012-09-04T07:53:15.333 回答
3

从面向对象的编程概念

如果你有一个函数正在访问/改变你的类的字段,它就变成了方法。否则,它是一个函数。

如果您继续将 Java/C++ 类中的所有函数作为方法调用,这不会构成犯罪。原因是您直接/间接访问/改变类属性。那么为什么不是 Java/C++ 类中的所有函数都是方法呢?

于 2012-11-04T19:52:13.910 回答
2

具有结构化编程语言背景的程序员将其称为函数,而在 OOPS 中称为方法。

但两者没有任何区别。

在过去,方法没有返回值,而函数有。现在它们都可以互换使用。

于 2012-09-04T08:20:30.637 回答