【唐老狮】C#——变长参数和参数默认值

唐老狮C#——函数重载 目前我们已经学习关于函数的四个知识点:函数、refout、变长参数参数默认值,其中三个知识点都是函数参数紧密联系的。而今天我们要学习的函数重载也是函数参数相关的,让我们开始吧。 【函数重​载】 【理论概念】 重载概念 ↓↓↓↓ 强记忆 几句话 ↓↓↓↓ 函数(方法)名相同 参数的数量不同 或者 参数的数量相同 参数的类型或顺序不同 ​​函数重载的前提是,在同一个结构体或者类的语句块中。存在两个或者两个以上的同名函数,当同名满足上方... 阅读详情

        之前我们对函数已经进行了学习,我们今天将来学习两个关于函数参数的小知识点。

【变长参数】
 

我们来回顾一下函数的基本语法

 

        我们知道,函数的参数可以是n个,毫不夸张的说可以是无数个,只是一般的需求不会出现写无数个参数的情况。但是就上面这个例子来说,我想要求n个整数的和,过多的参数个数对于我们来说就是件麻烦的事情了。

        所以C#提供给我们了一种变长参数的写法,让我们用于处理同类型多参数或者同类型不确定数量参数的问题。

【基本语法】

参数类型前加

params

具体写法

params 参数类型[] 参数名

【实例】

C#中的函数参数默认值指定传参 通过函数参数默认值指定传参,我们可以提高函数的灵活性可重用性。而在调用函数时,通过指定参数名来传递参数值,可以根据需要只提供某些参数的值,而不必按照参数顺序传递。在上述代码中,我们使用了命名参数的方式,通过指定参数名来传递参数值。通过这种方式,我们可以根据需要仅提供某些参数的值,而不必按照参数顺序传递。当调用函数时,如果不提供相应的参数值,则会使用默认值作为参数的值。除了使用默认值,我们还可以在调用函数时显式指定参数的值。通过指定参数名,我们可以灵活地控制函数的行为,并传递特定的参数值。 阅读详情

相关推荐

C# 可变参数参数默认值

可变参数参数默认值C# 中非常有用的特性。可变参数允许你在方法定义中接受不定数量的参数,而参数默认值允许你为参数提供默认值,使方法调用更加灵活。可变参数是指在方法定义中允许接受不定数量的参数参数默认值是指在方法定义中为参数提供一个默认值。在 C# 编程语言中,可变参数参数默认值是两个重要的特性,它们提供了更灵活的方法来定义调用方法。你可以向该方法传递任意数量的整数参数,方法将计算它们的总并返回结果。如果传递了参数,则使用传递的值。同时,你也可以将可变参数参数默认值结合在一起使用。

PixelShadeZ的博客 322

C#函数参数默认值及指定传参

编写函数通常会指定很多参数,但是调用时不一定每个参数都能用得上,使用参数默认值,可以避免在函数体中进一步编写代码进行变量初始化,或者重载函数让代码变得冗长难懂。通过函数参数设置默认值,加上调用的一些小技巧,可以使代码变得简洁优雅,同时也简化了调用。本文介绍C#函数参数默认值初始化,调用函数传参的顺序传参、指定参数传值,函数默认参数值的工作机制。

programerbismark的博客 3万+

C# 参数默认值

 C# 有2种不同的常量定义方式:编译时常量(compile-time) 运行时常量(runtime)。所谓编译时常量,是以 const 关键字定义,所谓编译时是常量则以 readonly 关键字定义。   C# 规定参数默认值必须是编译时能确定的常量值。   这些参数的类型可以是 C# 认定的基元类型。还可以包括枚举类型,以及能设

fanwenyuan_fwy的专栏 6022

C# 参数默认值

使用方法:在函数的参数列表中直接赋值 作用:使用函数时若不传入参数,则使用参数默认值 注意:有多个参数时,有默认值参数写在无默认值参数后面; 有params修饰的参数时,要写在params参数的前面 例子: static void Speak(string str = “无话可说”) { Console.WriteLine(str); } 使用Speak函数 Speak();//输出 无话可说 Speak(“你好啊”);//输出 你好啊 ...

记录 4484

C#知识点入门、基础、核心、进阶

成员类型:抽象类可以包含抽象方法、非抽象方法、字段、属性等;接口只能包含方法、属性、索引器事件的声明。访问修饰符:抽象类中的成员可以使用各种访问修饰符;接口中的成员默认是public且不能有访问修饰符。

weixin_46012816的博客 6901

Unity学习笔记(零基础到就业)|Chapter02:C#基础

Chapter02(C#基础)中主要介绍了c#中枚举、数组、值类型与引用类型、函数(方法)、结构体的语法知识内容,并补充了一些面试/考试中的常见考题

feifei2233的博客 1798

[C#复习向整合]object与装箱拆箱

一.object 所有类型的基类,是个类,引用类型 基于里氏替换原则,用object装所有对象 可以用来表示不确定类型,作为函数参数类型. class Son { public void Speak(){} } //使用时,引用类型常用as转换 object o = new Son(); if(o is Son) { Son s = o as Son; s.Speak(); } object o2 = 1;//装int引用类型 //值类型使用时要强转 int i = (

VAherggoooooo的博客 1087

c#学习笔记

主要内容包含:控制台输入输出,变量常量,转义字符,类型转换,异常捕获,运算符,条件分支语句,循环语句。看的是b站唐老狮的课程,本人之前对c有一定基础,所以入门篇简单看了一下,做一个总结。

m0_66850640的博客 89

Lua语法

介绍lua基本语法

m0_50816320的博客 2447

Lua语法学习整理

Lua 中的表(table)其实是一个"关联数组"(associative arrays),数组的索引可以是数字或者是字符串。全局变量: 没添加关键字 无论再哪里声明的都是全局变量(全局变量会被存放再_G表中)局部变量:加入关键字local的就是本地变量(出来循环、函数、脚本协程后会被销毁)

anxious333的博客 288

c#入门-默认值

c#中,一个局部变量必须先经过手动赋值初始值后才能使用。而成员变量,可以不手动赋值初始值。此时他们会以默认值存在。

zms9110750的博客 2896

C#系列之变长参数参数默认值

这篇笔记将介绍关于变长参数参数默认值的内容,如有错误,希望大佬多多指正。

2303_76354097的博客 526

c#基础-5.变长参数参数默认值

1.变长参数关键字params 作用:可以传入n个通类型参数 注意: 1.params后面必须是数组 2.变长参数只能有一个 3.必须在所有参数最后写变长参数 static void setsole(params int[]res) { int sum = 0; for (int i = 0; i < res.Length; i++) sum += res[i]; Console.W

weixin_44453949的博客 674

C#默认参数值详解:定义、使用与注意事项

需要注意的是,虽然默认参数值可以提高代码的简洁性可读性,但它们也可能导致方法的行为变得不那么直观,特别是当方法的参数较多且部分参数默认值时。因此,在使用默认参数值时,应该谨慎考虑其对代码可读性可维护性的影响。然而,需要注意的是,C#仅允许在方法的声明(定义)中指定默认参数值,而不允许在方法的实现中指定。此外,只有方法的最后一个参数可以有默认值,如果某个参数默认值,那么它之后的所有参数都必须有默认值。另外,由于默认参数值是在编译时确定的,而不是在运行时,因此它们不适用于动态或基于上下文的参数值。

学习和分享 846

C# 方法详解:定义、调用、参数默认值、返回值、命名参数、方法重载全解析

为了方便其他设备平台的小伙伴观看往期文章:,关注后即可获取最新文章推送看完如果觉得有帮助,欢迎。

小万哥的博客 2210

C#:方法的默认参数 (Justin Shen)

大家都知道在C++中,我们可以为方法的参数指定一个默认值,像这样:void foo(int i = 100);当我们以这种形式调用方法的时候: foo(); 实际上参数i被赋于了默认值,所以相当于调用了foo(100);然而在C#中是不支持参数默认值的,那么如果我们要用到类似的功能应该怎么实现呢?考虑下面这个例子:class Buffer{      public Buffer(int buff

1105

C#】函数参数变长参数params参数默认值

params关键词后接数组类型;参数中只能有一个params变长参数;当函数参数中含有多个参数,并有一个params参数,params参数的位置在最后;参数默认值可以有多个不同参数默认值参数默认值当与多个普通参数一起使用时,位于后面。

guai006的博客 597

笔记:C#_可变长参数_Params

笔记:C#_可变长参数_Params 使用场景 1 在遇到 函数传入的参数个数 无法确定时; 2 需要灵活控制传入参数个数时; Params 用于参数的数量可变的情况下,即参数的个数是未知数。 使用Params 需要知道以下4点: 主要看前两点(基本的&常用的) 1、作用的对象:Params只能修饰一维数组 public int Sum(params int[] ps) { private int sum=0;//私有成员:sum //遍历数组ps中的每个元素p:进行加操作 foreac

HadesNyx 2664
上一篇: 【唐老狮】C#——ref和out
下一篇: 【唐老狮】C#——函数重载
一唐老狮一
博客等级 码龄5年 505粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值