PS:注释和讲解全在代码中

1. 简单函数

文档注释作用图:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace C4_程序设计
{class 函数{static void Main(){int p;long[] a;       //长整数类型,和C++中的long long一样long ans;a = new long[60];for (int i = 0; i < a.Length; i++){if (i <= 2)a[i] = 1;elsea[i] = a[i - 1] + a[i - 2];}PrintFib(a);p = Convert.ToInt32(Console.ReadLine());ans = TheSum(a, p);Console.WriteLine(ans);int c, d;string C, D;c = 1; d = 2; C = "1"; D = "2";Console.WriteLine(Add(c, d));           //输出结果:3Console.WriteLine(Add(C, D));           //输出结果:12}static void PrintFib(long[] temp)          //Pascal命名法:所有单词首字母大写,其它小写,主要用于函数和类名的定义,其实就是驼峰命名法把第一个字母改成大写{for (int i = 0; i < temp.Length; i++)Console.Write(temp[i]+" ");Console.Write("\n");return;}//三个斜杠为文档注释,主要用于对函数功能性的描述/// <summary>/// 求斐波那契数列的前p项和,保证p∈[0, 60]/// </summary>/// <param name="temp">数组</param>/// <param name="p">上述p</param>/// <returns>前缀和</returns>static long TheSum(long[] temp, int p){long ans;ans = 0;if (p <= -1 || p >= 61){Console.WriteLine("输入错误");return -1;}for (int i = 0; i <= p - 1; i++)ans += temp[i];return ans;}//函数重载:和C++一样,没什么可讲的static int Add(int a, int b){return a + b;}static string Add(string a, string b){return a + b;}}
}

2. ref和out参数

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace C4_程序设计
{class 函数的高级参数{static void Main(){//求半径为p的圆的面积double p;p = Convert.ToDouble(Console.ReadLine());Aera(ref p);Console.WriteLine(p);//求a和b的最大值和平均数double ave;int a, b, max, c;//Console.WriteLine("max = {0}, ave = {1}", max, ave);      错误:使用了未赋值的局部变量“max”和“ave”a = Convert.ToInt32(Console.ReadLine());b = Convert.ToInt32(Console.ReadLine());c = Jud(a, b, out max, out ave);Console.WriteLine("max = {0}, ave = {1}", max, ave);Console.WriteLine("c = {0}", c);}static void Aera(ref double p)          //ref参数:引用传递,和C++中的double &p作用一致!{p = p * p * 3.1415926;}static int Jud(int a, int b, out int max, out double ave)       //out参数:若函数需要返回多个值,就要用到out参数来返回多余的值{if (a >= b)max = a;elsemax = b;ave = (1.0 * a + b) / 2;return 1;}}
}

C#基础4:函数+ref和out参数相关推荐

  1. Python基础灬函数(定义,参数)

    函数 函数定义 # 定义一个计算绝对值的函数 def cal_abs(x):if x >= 0:return xelse:return -x# 调用函数 print('-1的绝对值是:%s' % ...

  2. Python基础知识——函数的基本使用、函数的参数、名称空间与作用域、函数对象与闭包、 装饰器、迭代器、生成器与yield、函数递归、面向过程与函数式(map、reduce、filter)

    文章目录 1 函数的基本使用 一 引入 二 定义函数 三 调用函数与函数返回值 2 函数的参数 一 形参与实参介绍 二 形参与实参的具体使用 2.1 位置参数 2.2 关键字参数 2.3 默认参数 2 ...

  3. python中非可选参数_python基础教程函数参数

    python里有很多的内置函数给我们的工作带来了很多发便利,在我们实现某些功能或者优化代码的时候,可以自己定义一个函数,同时我们在定义一个类的时候也会用到函数的一些知识去构造一个方法,这里就涉及到一些 ...

  4. python基础 python函数 函数概念 函数的多种参数 多种调用参数 装包 解包 函数代码块 函数的返回值

    python基础 python函数 函数概念 函数的多种参数 多种调用参数 装包 解包 函数代码块 函数的返回值 一 .函数概念 函数是根据需要,将代码打包为代码块, 每一个代码块就可以封装为一个函数 ...

  5. javascript基础:函数参数与闭包问题

    今天在写东西的时候,对函数参数的概念有些模糊,查阅相关资料后,在博客上记点笔记,方便日后复习. 首先,在js中函数参数并没有强语言中那么要求严格,他不介意传递进来多少个参数,也不在乎传进来的参数是什么 ...

  6. 基础知识—函数-函数参数及返回值

    函数的返回值是指函数在调用后,执行函数体中的程序段所取得并返回给主函数的值,函数的返回值通过return语句返回给主函数 return (表达式): 关于返回值1.函数的返回值类型和函数定义中的函数类 ...

  7. 《每天五分钟冲击python基础之函数参数》(十八)

    前言 对于上节课的 递归函数 ,很多同学在后台私信我,说递归函数这块是没有看明白是什么意思的,那么我在这里给你们举例说明一下递归函数的原理吧! 大致的递归的原理就是这样的,是有点复杂的,但是也不太难, ...

  8. matlab自定义函数拟合写法,[MATLAB基础] 求助:如何确定自定义函数拟合时的参数初值?感谢!...

    求助:如何确定自定义函数拟合时的参数初值?感谢! 我做一个人口增长的拟合,在确定参数初值时遇到了严重的麻烦,求高手给与帮助!!!万分感谢!!! 以下是我写的程序: >> t=[1790:1 ...

  9. 初学者也能看懂的 Vue2 源码中那些实用的基础工具函数

    1. 前言 大家好,我是若川.最近组织了源码共读活动,感兴趣的可以加我微信 ruochuan12 想学源码,极力推荐之前我写的<学习源码整体架构系列>jQuery.underscore.l ...

最新文章

  1. 输出一个为递增排序数组的旋转数组中的最小元素——8
  2. 【 FPGA 】BUFHCE 案例浅析
  3. crontab(定时任务操作)
  4. Web前端技术知识:为什么要进行网站重构呢?
  5. 目标检测二十年间的那些事儿——从传统方法到深度学习
  6. iOS 设计模式之抽象工厂
  7. 嵌入式Linux内核优化裁剪
  8. 入侵感知系列之弱口令检测思路
  9. 【Shiro第八篇】SpringBoot + Shiro使用Shiro标签
  10. 一个喜爱电影的人能利用什么工具?
  11. x264 vbv-maxrate与vbv-bufsize对码率控制
  12. 5G网络架构及其对承载网的影响
  13. Bmob后端云学习(未完)
  14. lolfps高但画面不流畅_高配电脑玩英雄联盟FPS异常的解决方法
  15. 《STL源码剖析》RB-tree中increment 和 decrement 的作用
  16. 1351: 小鱼比可爱Ⅱ
  17. xshell打开多个窗口_打开软件太多,窗口用起来一团糟?让它来帮你管理:Groupy...
  18. wrl转换pcd格式Python实现
  19. 【第106期】10本硬核技术书,带你读懂物联网,玩转元宇宙
  20. 如何与强势的人相处zz

热门文章

  1. python常用代码大全-Python 网络爬虫实战项目代码大全
  2. python编程可以自学么-python编程还能自学?怎么能学好? - 【大连东软睿道】
  3. 零基础python入门-零基础 Python 入门
  4. 联合主键违反唯一性约束_(变强、变秃)Java从零学习024/252数据库之定义约束。...
  5. 动态创建表格(各种管理系统常见)
  6. echarts 饼图
  7. xampp 支持pdo mysql_XAMPP PDO Mysql server连接配置
  8. 【深度优先搜索】网格类问题:牛客网:机器人的运动范围
  9. myeclipse中加入jad查看jar源代码
  10. on() 和 click() 的区别:二者在绑定静态控件时没有区别,但是如果面对动态产生的控件,只有 on() 能成功的绑定到动态控件中。以下实例中原先的 HTML 元素点击其身后的 Dele