C#之方法的声明与调用

//params关键字使用   

class Program {
        static void Main(string[] args){

            int[] arr = { 10, 20, 30,60 };
            Console.WriteLine(AddFunction(arr));
            Console.WriteLine(AddFunction(10,20,30,60));

            Console.ReadKey();
        }

        static int AddFunction(params int[] values ) {

            int temp = 0;
            foreach (var item in values) {
                temp += item;
            }
            return temp;
        }

实现了一个AddFunction方法,用于接收一组整数,并返回它们的和。参数values被加上params关键字后,在调用时可以在实参列表中列举出这组整数中的每个元素,非常方便。
关于params关键字的用法,需要注意以下几点:
1. params只能用于一维数组,不能用于多维数组和诸如ArrayList、List<T>等任何类似于数组的集合类型。
2. 被加上params关键字的形参,必须是形参列表中最后一个形参,并且方法声明中只允许一个 params 关键字。
3. 用params关键字的方法,有三种调用形式:
第一种,列举出数组各元素:AddFunction(1,2,3),这也是最常用的形式;
第二种,像没有加params关键字的数组形参那样,用数组名做实参:AddFunction(new int[]{1,2,3})或int n=new int[]{1,2,3};AddFunction(n);;
第三种,加params关键字的参数在调用时可以省略:AddFunction();//返回0;这种方式有时可以少定义一个方法重载,但当明确定义了重载int AddFunction()时,编译器会优先调用int AddFunction(),而不是AddFunction(params int[] values)。而且省略params型参数,方法内部仍会new一个元素个数为0的数组,效率略查。
第四种,不省略params型参数,用null代替,效率比第三种略高,因为其内部不会new这个数组。

时间: 2024-07-29 07:05:20

C#之方法的声明与调用的相关文章

方法的声明和调用——java

方法只有声明和调用,方法里只能调用其它方法:方法外,只能声明方法. 调用方法时参数顺序不能颠倒. 同一个类里的方法可以直接调用或访问其他方法或属性; 但静态方法例外,静态方法只能调用或访问其他的静态方法或静态属性; 要想在静态方法中调用非静态方法或非静态属性,可以利用对象调用或访问. 只有静态的成员变量和成员方法:没有静态的局部变量. static 修饰的属性.方法保存在内存中的datasegment.

1.23 Java基础总结 方法的声明和调用

一.定义方法基本格式 访问修饰符1 访问修饰符2 返回类型 方法名(形参列表){ .........方法体 } 方法里不可再声明方法,但可调用方法 二.方法的使用 如果是放在类里边,先要new一个对象,在调用 方法名(实参) 有返回值得,也可以不接受,直接一句调用 三.命名通用规则 方法名:小写,一般用动词 变量名.类名:一般用名词

js方法的声明与调用

具名函数直接调用 function foo()   {   } foo(); (2)匿名函数通过引用来调用 fooRef = function()   {   } fooRef(); (3)没有引用的匿名函数调用1 (function()  { }()); (4)没有引用的匿名函数调用2 (function()  {  })(); (5)没有引用的匿名函数调用3 void function()  { }(); 图1.1,图1.2表明了这两种表达式的运算过程是不一样的,图1.1中是用强制运算符使函

Java中的函数(方法)声明和调用

目前学习了有无返回值和有无参数的函数. 其次就是函数的调用,需要参数的函数在调用时应该传入参数,参数的类型和数量应和声明是一样. 返回值主要是在函数执行完后返回一个数据. 其主要作用就是将不同功能的代码分割成多个部分,为重复使用该代码提供方便. //函数(方法)的基本概念 //(怎么用,什么时候用) //public static void main(String [] args){} //不带参数不带返回值的函数 public static void xxxXxx1(){ } //带参数不带返

C#方法的定义、调用与调试

本节内容 1.方法的由来: 2.方法的定义与调用: 3.构造器(一种特殊的方法): 4.方法的重载(Override): 5.如何对方法进行debug: 6.方法的调用与栈* *推荐书目:CLR via C#和C# in Depth, 3rd Edition 1.方法的由来 ①方法(method)的前身是C/C++语言的函数(function) 方法是面向对象范畴的概念,在非面向对象语言中仍然称为函数. 可以使用C/C++语言做对比. *当函数以成员的身份出现时我们就叫它方法(始于C++) ②永

李洪强iOS开发之有参方法的声明实现和调用

// //  main.m //  09 - 有参方法的声明实现和调用 // //  Created by vic fan on 16/7/5. //  Copyright © 2016年 李洪强. All rights reserved. // /** *  C语言函数 *  int sum(int a, int b){ reture a+b; } * 有参有返回值的格式: 带一个参数: 方法的声明 - (返回值类型)方法名: (参数类型)参数名; 方法的实现 - (返回值类型)方法名: (参

c# 第21节 方法声明和调用

本节内容: 1:为什么要有方法 2:方法的声明及使用 3:方法params 传入接收数组 4:值传递和引用传递 5:输出参数out 1:为什么要有方法 2:方法的声明及使用 声明实例: 3:方法params 传入接收数组 4:值传递和引用传递 实例操作:值传递和引用传递(必须先声明) 输出: 5:输出参数out 实例:判断一个数组的最大值,并返回一个最大值的数据,和最大值得索引 ‘ ’ 原文地址:https://www.cnblogs.com/hero799/p/8663179.html

Objective-C( 三方法的声明与实现)

OC方法的声明与实现 oc方法的声明在@interface中 大括号外@end上面 oc方法的实现在@implementation 中@end上面 OC方法中,一个参数对应一个冒号 方法名: 例  fangFaMing:(冒号也是方法名的一部分) -返回值类型  方法名:参数名:(参数类型)参数 参数名:(参数类型)参数 ; 例  -(int)fangFaMing:sumWithNum1:(int)num1 andNum2:(int)num2; ??此处空格 易犯错误 1.只写声明,不写实现 2

对象方法的声明和实现

1.对象方法的声明 格式: 1 -(int)addNum1: (int)num1 andNum2: (int)num2; 2.特征 a:对象方法以-开头如 -(int)xx; b:对象方法只能由对象来调用 c:对象方法中可以访问当前对象的成员变量 d:调用格式 [对象名 对象方法名]; 3.示例 1 //声明没有返回值的对象方法 2 -(void)run; 3 //声明有返回值的对象方法 4 -(int)run; 5 //声明有返回值有参数的对象方法 6 -(int)run: (int)num;