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,在这里我们来分别的讲解一下,在这里的我们先不 ...
随机推荐
- C# 一些代码小结--串口操作
串口解析显示中文 private String SerialPortReadStr() { try { String str = null; int n = serialPort1.BytesToRe ...
- WireShark 查看UDP码流的丢包率
1.用wireshark抓包之后,右击,点decode as,转化为RTP 2. 点show all streams 3.分析
- .NET Entity Framework (with Oracle ODP.NET)
一.前言 1.Entity Framework是什么? Entity Framework是微软对ORM框架的实现.类似的实现也有其它方式,如DevExpress 的XPO(eXpress Persis ...
- Jmeter——参数化的9种方法
本文由作者张迎贞授权网易云社区发布. 一.用户定义的变量 1.右键快捷菜单中选择 添加-配置元件-用户自定义变量. 用户自定义变量中的定义的所有参数的值在测试计划的执行过程中不能发生取值的改变,因此一 ...
- 20164317《网络对抗技术》Exp2 后门原理与实践
1.实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启动 (3)使用MSF meterpreter(或其他软件)生成可执行文 ...
- 【学习笔记】dsu on tree
我也不知道为啥这要起这名,完完全全没看到并查集的影子啊…… 实际上原理就是一个树上的启发式合并. 特点是可以在$O(nlogn)$的时间复杂度内完成对无修改的子树的统计,复杂度优于莫队算法. 局限性也 ...
- 关于省,市,区联动 java 实现方式
关于省,市,区的三级联动后台的实现有两种方式: 1:分三次请求各自取出 省 市 区 的数据: 2:一次请求获得所有的数据,并且组装成相依的数据结构到前端: 其中第一种方式: 会导致数据的延迟加载,出现 ...
- nodejs改变代码不需要重启的方法
1.node 搭建本地服务器 在F:/node文件夹下新建app.js const http = require('http'); http.createServer((req, res) => ...
- 奇怪的Java题:为什么1000 == 1000返回为False,而100 == 100会返回为True?
如果你运行如下代码: 1 2 3 4 Integer a = 1000, b = 1000; System.out.println(a == b);//1 Integer c = 100, d = ...
- request.getParameter("name")获取参数为null和空字符串的区别
1.获取到的值为空字符串 当url里有name属性,但是没有值的时候,后台用request.getParameter("name")获取到的是空字符串 2.获取到的值为null 当 ...