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# RS232串口使用
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- C# Linq 学习笔记
刚刚学习了 Siki老师 的C#教程Linq部分,以下是笔记 需要引用命名空间 using System.Linq; 然后我们需要准备数据 武林高手类 /// <summary> /// ...
- Asp .Net Core网页数据爬取笔记
突然要用到地区数据,想到以前用python的Scrapy框架写过一个爬虫,于是打算直接去国家统计局把最新的地区数据抓取回来.本想只需要copy一下以前的代码,就可以得到新鲜出炉的数据,谁知打开以前的项 ...
- .net core Swagger
Startup中的 ConfigureServices //注册 Swagger services.AddSwaggerGen(sg => { sg.SwaggerDoc("refu ...
- LinkedBlockingQueue源码解析(2)
此文已由作者赵计刚授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 3.3.public void put(E e) throws InterruptedException 原 ...
- SSM集成Easyui框架及多模块开发的认识
首先我们需要建立好一个emaven项目,并且在pom.xml中导入响应的jar包, <?xml version="1.0" encoding="UTF-8" ...
- Django 使用getattr() 方法获取配置文件的变量值
在django项目的开发过程中,有时需要获取配置文件里的变量值,可以通过下面这样的方式去进行获取 from django.conf import settings item = getattr(set ...
- Backtracking-401. Binary Watch
A binary watch has 4 LEDs on the top which represent the hours (0-11), and the 6 LEDs on the bottom ...
- win10无法访问samba共享
地址: https://blog.csdn.net/xiaohuixing16134/article/details/79601064?utm_source=blogxgwz1 问题描述:配置好sam ...
- 2 rocketmq mqadmin 的用法详解
参考文档 http://jameswxx.iteye.com/blog/2091971 1.1. 控制台使用 RocketMQ 提供有控制台及一系列控制台命令,用于管理员对主题,集群,broker 等 ...