当口头谈论方法时,我从不确定是否应该使用参数或参数或其他词。不管怎样,其他人都知道我的意思,但什么是正确的,这些术语的历史是什么?

我是一名c#程序员,但我也想知道人们是否在不同的语言中使用不同的术语。

声明一下,我是自学的,没有计算机科学的背景。(请不要让我去读《代码完成》,因为我这么做是为了让那些还没有史蒂夫·麦康奈尔这本了不起的书的人受益。)

总结

普遍的共识似乎是,在团队环境中可以互换使用这些术语。除非你在定义精确的术语;然后你也可以使用“正式参数/参数”和“实际参数/参数”来消除歧义。


当前回答

术语参数和参数的使用被滥用了 在程序员甚至作者之间。当处理 方法中,术语参数用于标识中的占位符 方法签名,而术语参数是实际的 您传递给方法的值。

MCSD认证工具包(考试70-483)c#编程,第1版,Wrox, 2013

真实的案例

// Define a method with two parameters
int Sum(int num1, int num2)
{
   return num1 + num2;
}

// Call the method using two arguments
var ret = Sum(2, 3);

其他回答

参数是方法定义中的变量。调用方法时,实参是传递到方法参数中的数据。

public void MyMethod(string myParam) { }

...

string myArg1 = "this is my argument";
myClass.MyMethod(myArg1);

根据Joseph的Alabahari的书“c# in a Nutshell”(c# 7.0, p. 49):

static void Foo (int x)
{
    x = x + 1; // When you're talking in context of this method x is parameter
    Console.WriteLine (x);
}
static void Main()
{
    Foo (8); // an argument of 8. 
             // When you're talking from the outer scope point of view
}

在一些人类语言(如意大利语、俄语)中,这些术语的同义词被广泛使用。

参数=形式参数 参数=实际参数

在我的大学里,教授们两种名字都用。

考虑下面的java代码。

public class Test{
   public String hello(String name){
      return "Hello Mr."+name;
   }

  public static void main(String args[]){
     Test test = new Test();
     String myName = "James Bond";
     test.hello(myName);
  }
}

hello(String name)的方法定义声明了一个名为name的String参数。 在main方法中,我们通过传入参数myName来调用hello方法。

parameter是占位符,而argument是方法的实际值。

在编辑工作中,我经常被人们忘记:结构语言是基于自然语言的。

用英语

“参数”是一个占位符。他们用口语设定回答格式。根据定义,它是呼叫的一方,限制响应。

“论点”是一个正在被考虑的立场。你争论你的观点:你考虑一个论点。

主要区别

论证的主位作用是代理。参数的主题角色是接受者。

的相互作用

把参数看成男性部分,把参数看成女性部分。实参进入形参。

使用

通常在定义中使用参数。实参通常用于调用。

问题

完成这个句子,使它不那么不和谐。

(A)说到定义:

将使用什么参数[]? 参数[]是什么[]?

(B)说到祈祷:

您将使用什么参数,[]? 这个参数[]将是什么[]?

答案

(A)

On /in/against/使用此参数 论点(s)……取

(B)

有什么例子吗 论点(s)……使用/ /反对/

重叠

你可以想象,在回答:在口语中,这些词有时会产生相同的反应!

所以,作为规则:

通常,如果有人想要参数信息,他们想要了解更多关于类型、变量名等的信息。如果你只给出例子论证,他们可能会感到困惑。 通常,如果有人想要参数信息,他们想知道你传递给函数或它的形参的值是什么。

参数是用来存储传递到函数中供函数使用的数据的变量。参数是调用函数时传递给函数的实际数据:

// x and y are parameters in this function declaration
function add(x, y) {
  // function body
  var sum = x + y;
  return sum; // return statement
}

// 1 and 2 are passed into the function as arguments
var sum = add(1, 2);