C#方法(用法,参数)
方法:是一种用于实现可以由对象或类执行的计算或操作的成员,是一个已命名的语句集。方法就是把一些相关的语句组织到一起,用来执行一个任务的语句块。比如每个C#程序至少带一个main函数
1.格式:修饰符 返回值类型 方法名称 (参数列表)
{
方法体
}
2.每个方法都有一个名称和一个主体
方法名称:是一个有意义的标识符,应当描述出方法的用途。
方法主体:包含了调用方法时实际执行的语句
修饰符:public ,private, static等等
返回值类型:void, int ,double等等
参数列表可为数组
3.用户可以为大多数方法提供一些数据来进行处理,并让其返回一些信息(通常是处理结果)
下面是方法的各个元素:
- Access Specifier:访问修饰符,这个决定了变量或方法对于另一个类的可见性。
- Return type:返回类型,一个方法可以返回一个值。返回类型是方法返回的值的数据类型。如果方法不返回任何值,则返回类型为 void。
- Method name:方法名称,是一个唯一的标识符,且是大小写敏感的。它不能与类中声明的其他标识符相同。
- Parameter list:参数列表,使用圆括号括起来,该参数是用来传递和接收方法的数据。参数列表是指方法的参数类型、顺序和数量。参数是可选的,也就是说,一个方法可能不包含参数。
- Method body:方法主体,包含了完成任务所需的指令集。
For example
//编写一个方法用于计算给定整型数组元素的和
static int Add(params int[] nums)
{
int sum = ;
foreach (int outnum in nums) sum += outnum;
return sum;
}
static void Main(string[] args)
{
int[] myintArry = { , , , , };
Console.WriteLine(Add(myintArry));
Console.ReadKey();
当调用带有参数的方法时,您需要向方法传递参数。在 C# 中,有三种向方法传递参数的方式:值类型,引用类型,输出类型。
值类型:传值给方法,方法中的变量修改不影响参数列表,复制参数的实际值给函数的形式参数,实参和形参使用的是两个不同内存中的值。在这种情况下,当形参的值发生改变时,不会影响实参的值,从而保证了实参数据的安全。
For example
//编写一个方法用于求平方(没有返回值)
static void Square(int num)
{
num *= num;
Console.WriteLine("num平方="+num); }
static void Main(string[] args)
{
int num = ;
Console.WriteLine(num);
Square(num);
Console.WriteLine(num);
Console.ReadKey();
引用类型:这种方式复制参数的内存位置的引用给形式参数。这意味着,当形参的值发生改变时,同时也改变实参的值。
ref关键词指定,使用:1.调用函数变量必须非常量;2.调用变量必须初始化。
For example
//编写一个方法用于求平方(没有返回值)
static void Square(ref int num)
{
num *= num;
Console.WriteLine("num平方="+num); }
static void Main(string[] args)
{
int num = ;
Console.WriteLine(num);
Square( ref num);
Console.WriteLine(num);
Console.ReadKey();
输出参数:可以返回多个值
1.执行方式与ref完全一样,关键字为out
For example
//编写一个方法用于计算输出数组中最大的值
static int MaxNum(int[] nums, out int MaxNumIndex)
{
int maxNum = nums[];
MaxNumIndex = ;
for (int i = ; i < nums.Length; i++)
{
if (maxNum < nums[i])
maxNum = nums[i];
MaxNumIndex = i;
}
return maxNum;
}
static void Main(string[] args)
{
//int[] a= { 1, 2, 3, 4, 5 ,6};
//Console.WriteLine(Add(a));
//Console.ReadKey();
int[] a = {,,,,,,,};
int MaxNumIndex;
Console.WriteLine("最大值max={0},最大值索引是{1}",MaxNum(a,out MaxNumIndex),MaxNumIndex);
Console.ReadKey();
注:输出变量与引用变量的区别
1.未初始化的变量用作ref非法,而out合法
2.函数调用out参数量,必须把它当作尚未赋值(即可以把已赋值的变量当作out参数,但存储在该变量中的值在方法执行时会丢失)
3.ref,out必须在调用及定义方法时声明
C#方法(用法,参数)的更多相关文章
- 关于Jquery中ajax方法data参数用法的总结
data 发送到服务器的数据.将自动转换为请求字符串格式.GET 请求中将附加在 URL 后.查看 processData 选项说明以禁止此自动转换.必须为 Key/Value 格式.如果为数组,jQ ...
- jQuery中eq()方法用法实例
本文实例讲述了jQuery中eq()方法用法.分享给大家供大家参考.具体分析如下: 此方法能够获取匹配元素集上的相应位置索引的元素. 匹配元素集上元素的位置索引是从0开始的. 语法结构: 复制代码 代 ...
- jQuery中attr()方法用法实例
本文实例讲述了jQuery中attr()方法用法.分享给大家供大家参考.具体分析如下: 此方法设置或返回匹配元素的属性值. attr()方法根据参数的不同,功能也不同. 语法结构一: 获取第一个匹配元 ...
- javascript的setTimeout()与setTimeout()方法用法总结
setTimeout与setInterval的区别: setTimeout 定义和用法: setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式. 语法: setTimeout(code ...
- C#中Activator.CreateInstance()方法用法分析
本文实例讲述了C#中Activator.CreateInstance()方法用法. Activator 类 包含特定的方法,用以在本地或从远程创建对象类型,或获取对现有远程对象的引用. C#在类工厂中 ...
- jQuery中index()方法用法实例
本文实例讲述了jQuery中index()方法用法.分享给大家供大家参考.具体分析如下: 此方法可以搜索匹配元素,并返回元素的索引值.索引值是从0开始的. 语法结构一: 当此方法没有参数的时候,返回值 ...
- jQuery中on()方法用法实例
这篇文章主要介绍了jQuery中on()方法用法,实例分析了on()方法的功能.定义及在匹配元素上绑定一个或者多个事件处理函数的使用技巧,需要的朋友可以参考下 本文实例讲述了jQuery中on()方法 ...
- thinkPHP中session()方法用法详解
本文实例讲述了thinkPHP中session()方法用法.分享给大家供大家参考,具体如下: 系统提供了Session管理和操作的完善支持,全部操作可以通过一个内置的session函数完成. 用法 ? ...
- JS中的call()、apply() 以及 bind()方法用法总结
JS中的call()方法和apply()方法用法总结 : 讲解: 调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域. function add(c,d){ return thi ...
随机推荐
- https://lug.ustc.edu.cn/wiki/user/boj/linkers-and-loaders
https://lug.ustc.edu.cn/wiki/user/boj/linkers-and-loaders 程序员的自我修养——链接.装载与库
- H.264与H.265视频压缩编码参考码率
- PDF生成类库
from:https://blog.csdn.net/plean/article/details/8097015 最近忙了两个星期的任务了 iTextSharp.dll是个开源的用于生成pdf ...
- 为什么static成员必须在类外初始化,而不能在类的头文件中初始化
为什么static成员必须在类外初始化 为什么静态成员不能在类内初始化 在C++中,类的静态成员(static member)必须在类内声明,在类外初始化,像下面这样. class A { pri ...
- Qt编写自定义控件64-垂直时间轴
一.前言 垂直时间轴控件,主要用来描述企业发展历程大事件,或者软件版本迭代历史等,通过时间节点和事件描述来直观的展示发展的过程,一般在web网页或者app中经常看到此类控件,尤其是公司的官网关于公司部 ...
- Glide图片加载过程(简)
iceIC 关注 2018.10.25 20:53* 字数 906 阅读 529评论 0喜欢 1 调研版本为4.7.1为了更加简单的理解,会将函数代码简化,详细代码请自行照源码对比 Glide用法 G ...
- 转 ORA-13541: system moving window baseline size (691200) greater than retention (432000)
修改awr生成报告时间间隔和保存时间时报错,由默认的每小时生成,保存8天修改为每半个小时生成一次,保存5天: SQL> exec dbms_workload_repository.modify_ ...
- Linux使用sleep进行延迟实验
sleep命令可以延迟脚本执行一段时间(以秒为单位).下面的命令使用tput和sleep从0开始计时到40秒: #/bin/bash echo Count: tput sc # 循环40s for c ...
- Sed之大小写转换
使用sed进行大小写转换 大写转小写 echo "ABCD"|sed 's#[A-Z]#\l&#g' 小写转大写 echo "abcd"|sed 's# ...
- STM32驱动模数转换芯片ADS1120(PT100铂电阻测温度)第2篇
1. 先看下原理图,原理图是电流从IDAC1流出,提供驱动,然后R(REF)这个电阻上的电压作为参考,读取AIN0和AIN1的电压,那么可以测量出来电阻值. 2. 上图是官方给出的参考,下图是我实际用 ...