out参数ref参数params 可变参数
1、我们在主函数中调用其他函数,我们管主函数为调用者,
其他函数为被调用者。
如果被调用者,想要得到调用者的值:传参
使用静态字段来模拟全局变量 在方法外类里写字段 public static _name=10;
2、如果调用者想要得到被调用者的值
1.返回值
不管形参和实参都是开辟空间的
方法的功能一定要单一。
方法中求闰年 ,再写一个方法求最大值,不要写在一起
方法中忌讳提示用户输入的字眼
3、OUT 参数 (返回多个不同类型的值)
如果你在方法中,返回多个相同类型的值可以考虑数组
但是如果你要返回多个不同类型的值,不能返回数组,考虑用out
out 参数就测重于一个方法中返回多个不同类型的值
out 参数要求在方法的内部必须对为其赋值
4、ref参数:(将一个变量带入方法)
能够将一个变量带入一个方法中进行改变,改变完成后,再讲改变后的值带入方法中
要求:在方法外必须为其赋值,而方法可以不赋值
分别提示用户名 密码
写方法判断用户输入的是否正确
返回给用户一个登陆结果,并且还要单独的返回给用户一个登陆信息
如果登陆用户名错误,除了返回登陆结果之外,还要返回用户名错误
5、params 可变参数:
将实参列表中跟可变参数数组类型一致的元素都当做数组的元素来处理。
可以传和数组类型的元素
params 必须是形参列表中最后一个参数 (唯一性)
求任意长度数组的最大值,整数类型
6、方法的重载
概念:方法的重载值的是方法名的名称一样,但是参数不同
1):如果参数的个数相同,类型不能相同
2):如果参数的类型相同,个数不能相同
方法的重载和方法的返回值没有关系
7、方法的递归:方法自己调用自己,但是也要有一个条件让它结束递归
当满足一定条件,就要停止递归
找出一个文件夹中所有的文件
递归的执行过程:就相当于进了10个门里,在递归出来10个门
1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 出来了
out参数ref参数params 可变参数的更多相关文章
- C#中的out参数/ref参数/params可变参数
out参数: out关键字 通过引用来传递参数,在定义方法和调用方法的时候都必须使用out关键字 简单来讲out可以用来返回多个参数类型. static void Main(string[] args ...
- params可变参数
class Program { // params可变参数 //将实参列表中跟可变参数数组类型一致的元素都当做数组的元素去处理. //params可变参数必须是形参列表中的最后一个元素. static ...
- params可变参数、SqlCommand.Parameters.add()方法
namespace params可变参数{ class Program { static void Main(string[] args) { int[] num = {66,99,55,44, }; ...
- C# params 可变参数使用注意
今天在一个 .NET Core 项目中调用一个自己实现的使用 params 可变参数的方法时触发了 null 引用异常,原以为是方法中没有对参数进行 null 值检查引起的,于是加上 check nu ...
- Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数
Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4 为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1 ...
- [c#]params可变参数
摘要 在项目中多多少少会用到params这个关键字,来修饰参数,它的作用,让该参数的个数是可变的,并且可变参数必须是方法的最后一个参数.但如何判断到底有没有为该参数传递值,怎么判断? 一个例子 sta ...
- C语言可变参数宏及‘##’在可变参数中的作用
测试代码及解释: #include <stdio.h> #define PRINT(x) printf x #define SECONDPRINT(fmt,arg...) printf(f ...
- C#方法中三个重要的参数:out、ref、params
备注:适用于初学者,自学于传智播客. 1.out参数. 概念:如果在一个方法中,返回多个相同类型值的时候,可以考虑返回一数组.但是返回多个不同类型值的时候,返回数组显然不能解决问题,这时就引入out参 ...
- 浅谈c#的三个高级参数ref out 和Params
c#的三个高级参数ref out 和Params 前言:在我们学习c#基础的时候,我们会学习到c#的三个高级的参数,分别是out .ref 和Params,在这里我们来分别的讲解一下,在这里的我们先不 ...
随机推荐
- 机器学习、深度学习、和AI算法可以在网络安全中做什么?
本文由 网易云发布. 本文作者:Alexander Polyakov,ERPScan的首席技术官和联合创始人.EAS-SEC总裁,SAP网络安全传播者. 现在已经出现了相当多的文章涉及机器学习及其保 ...
- 使用Commons Email发送邮件
Commons Email是apache commons库中的一个组件,对java mail做了一些个封装,提供能为简化的API供开发者使用.它依赖于javax.mail . 首先下载commons- ...
- 深入学习c++--智能指针(一) shared_ptr
1. 几种智能指针 1. auto_ptr: c++11中推荐不使用他 2. shared_ptr: 每添加一次引用 就+1,减少一次引用,就-1:做到指针进行共享 3. unique_ptr: 一个 ...
- Android---------------Service的学习
一.创建与启动Servcie的三个步骤 : 1. 创建一个类并继承Servcie 2.在配置文件中注册服务 3.通过Intent来启动服务 二.Service的两种启动方式 1.startServce ...
- Flask从入门到精通之链接的使用
在Web开发中,任何具有多个路由的程序都需要可以连接不同页面的链接,例如导航条. 在模板中直接编写简单路由的URL 链接不难,但对于包含可变部分的动态路由,在模板中构建正确的URL 就很困难.而且,直 ...
- C语言的组成 以及预编译
这么多年过去了,回头再来学习一下C语言,发现很多不一样的感觉 #include <stdio.h> int main(int argc, const char * argv[]) { pr ...
- cmd下查看应用端口情况
在win10开始窗口右侧的空白处点击CMD,在上方弹出窗口中选择命令提示符,双击进入 在弹出命令界面中,输入netstat -na命令后回车,如下图所示,可以看到所有目前打开的端口 如果要查看打开端口 ...
- Docker学习--docker的基本认识
1.Docker 架构 Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器. Docker 容器通过 Docker 镜像来创建. 容器与镜像的关系类似于 ...
- Opserver 初探三《服务器数据监控》
用Opserver 怎么像zabbix一样监控服务器呢,查看github官方说明,Opserver可用于连接任何支持Bosun, Orion, or direct WMI监控数据. Opserver ...
- 在MVC过滤器中获取触发的Controller、Action、参数 等
首先是实现接口System.Web.Mvc.IActionFilter的过滤器 获取Controller.Action.参数 方法一. string actionName = filterContex ...