C#编程.函数.参数
详细内容请参见《C#入门经典(第4版)》p101页
1、参数匹配
在调用函数时,必须使参数与函数定义中指定的参数完全匹配,这意味着要匹配参数的类型、个数、和顺序。
注:函数签名由函数的名称和参数定义。
2、参数数组
C#允许喂函数指定一个(只能指定一个)特定的参数,这个参数必须是函数定义中的最后的一个参数,称为参数数组。参数数组可以使用个数不定的参数调用函数,它可以使用params关键字来定义。
注:参数数组特别适合于为在处理过程中要使用的函数指定其他信息。
示例代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestParams
{
class Program
{
static int SumValus(params int[] vals)
{
int sum = 0;
foreach (var val in vals)
{
sum += val;
}
return sum;
}
static void Main(string[] args)
{
int sum = SumValus(1,3,7,8);
Console.WriteLine("Summed values = {0}",sum);
Console.ReadKey();
}
}
}
运行结果:
3、引用参数和值参数
值参数:在使用参数时,把一个值传递给函数使用的变量。对函数中此变量的任何修改都不影响函数调用中指定的参数。
引用参数:函数处理的变量与函数调用中使用的变量相同,而不仅仅是值相同的变量。因此,对这个变量的任何修改都会影响用作参数的变量值。
应用参数的使用:
(1)在函数定义中使用ref关键字指定参数。
(2)在函数调用中(这事必须的,因为ref参数是函数签名的一部分)再次指定参数。
注意:用作ref参数的变量有两个限制:
(1)函数可能会改变引用参数的值,所以必须在函数中调用变量(不可以引用常量)。
(2)必须使用初始过的变量。C#不允许假定ref参数在它的函数中初始化。
4、输出参数
除了根据引用传递值之外,还可以使用out关键字,指定所指参数是一个输出参数。详细内容请参见《C#入门经典(第4版)》p106页
C#编程.函数.参数的更多相关文章
- Python学习手册之 Python 之禅、Python 编程规范和函数参数
在上一篇文章中,我们介绍了 Python 的正则表达式使用示例,现在我们介绍 Python 之禅. Python 编程规范和函数参数.查看上一篇文章请点击:https://www.cnblogs.co ...
- [编程] C语言结构体指针作为函数参数
结构体指针作为函数参数:结构体变量名代表的是整个集合本身,作为函数参数时传递的整个集合,也就是所有成员,而不是像数组一样被编译器转换成一个指针.如果结构体成员较多,尤其是成员为数组时,传送的时间和空间 ...
- 深入理解javascript函数系列第二篇——函数参数
× 目录 [1]arguments [2]内部属性 [3]函数重载[4]参数传递 前面的话 javascript函数的参数与大多数其他语言的函数的参数有所不同.函数不介意传递进来多少个参数,也不在乎传 ...
- python基础(三元运算+深浅拷贝+函数参数)
三元运算 三元运算,又称三目运算,主要作用是减少代码量,是对简单的条件语句的缩写. 书写格式: result = 值1 if 条件 else 值2 即如果条件成立,则将值1赋给result变量,如果不 ...
- Java 函数参数传递方式详解 分类: Java Game 2014-08-15 06:34 82人阅读 评论(0) 收藏
转:http://zzproc.iteye.com/blog/1328591 在阅读本文之前,根据自己的经验和理解,大家可以先思考并选择一下Java函数的参数传递方式: A. 是按值传递的? B. ...
- Java函数参数传递方式详解
在阅读本文之前,根据自己的经验和理解,大家可以先思考并选择一下Java函数的参数传递方式: A. 是按值传递的? B. 按引用传递的? C. 部分按值部分按引用? 此处暂不宣布正确答案,我们通过一个简 ...
- PowerShell控制台输出符号+函数参数类型指定+文本内容读取
There are several ways: Write-Host: Write directly to the console, not included in function/cmdlet o ...
- C语言数组作为函数参数
数组可以作为函数的参数使用,进行数据传送. 数组用作函数参数有两种形式,一种是把数组元素(下标变量)作为实参使用:另一种是把数组名作为函数的形参和实参使用. 数组元素作函数实参 数组元素就是下标变量, ...
- C语言函数参数压栈顺序为何是从右到左?(从左向右的话,碰到printf的会陷入死循环)
上学期学习了汇编语言,并在操作系统实验中使用了汇编+C语言混合编程,中间也了解了一些C语言与汇编语言的对应关系. 由于汇编语言是底层的编程语言,各种函数参数都要直接控制栈进行存取,在混合编程中,要用汇 ...
随机推荐
- 【聚沙成塔系列】之《UML九种图-包图、类图》
一.包 (一)相关概念: 1.包: 一个包=一层=一个命名空间=一个文件夹 2.包的命名: 简单名:王老二 路径名:中国.河北省.廊坊市.廊坊师范学院.信息技术提高班.九期班.王老 3.可见性: +公 ...
- 29 z-index
这个东西非常简单,它有四大特性,每个特性你记住了,页面布局就不会出现找不到盒子的情况. z-index 值表示谁压着谁,数值大的压盖住数值小的, 只有定位了的元素,才能有z-index,也就是说,不管 ...
- python trojan development 1st —— use python to send mail and caputre the screen then combine them
import smtplib from email.mime.text import MIMEText msg_from='1@qq.com' #发送方邮箱 passwd='bd' #填入发送方邮箱的 ...
- WebRTC开发者必备 | 《WebRTC1.0: 浏览器间实时通讯》中文版免费下载
随着移动互联网的崛起与完善,WebRTC的应用场景相较于它刚诞生时已经有了极大的变化,以图片和视频为代表的流媒体技术走向普及,交互式网站也逐渐成为互联网的新常态,因此WebRTC API应该把当前以及 ...
- eclipse 工具在工作中实用方法
不断更新记录工作中用到的实用技巧 1.快捷方式管理多个工作空间 参数: -showlocation 设置eclipse顶部显示工作空间位置 -data 文件位置 设置打开的工作空间位置 创建eclip ...
- Junit4使用详解一:测试失败的两种情况
Junit4最佳实践 1.把测试文件夹和代码文件夹分离,这两者的代码互不干扰,代码目录和测试目录是并列的关系 2.Java代码 3.创建单元测试代码文件 4.运行测试代码 5.查看测试结果 现在的情 ...
- Scala 学习之路(四)—— 数组Array
一.定长数组 在Scala中,如果你需要一个长度不变的数组,可以使用Array.但需要注意以下两点: 在Scala中使用(index)而不是[index]来访问数组中的元素,因为访问元素,对于Scal ...
- Java web环境的搭建
学习java web 首先得要能够在自己的电脑上配置环境,经查阅资料后了解,需要装java EEEclipse ,即企业版的,还有就是tomcat服务器. 第一步,从网上下载,eclipse 企业版的 ...
- centos6.5虚拟机配置Nat模式连接外网
想来在虚拟机上搭点软件,于是乎就想让虚拟机连上外网,就用到了Nat模式,自己对网络了解不是太深,以至于配置联网花了一下午.总结下联网步骤. (1)点击虚拟网络编辑器 (2)注意以下几点标红处 (3)点 ...
- .NET开发框架(四)-服务器IIS安装教程
Windows Server 2012 R2 配置篇,包括服务器IIS安装.网络负载均衡器安装.ASP.NET Core 安装. 前三篇教程中,我们分享了框架的功能与视频演示介绍(文尾扫码 加入 框架 ...