广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#中命名参数和可选参数
  • 237
分享到

C#中命名参数和可选参数

2024-04-02 19:04:59 237人浏览 泡泡鱼
摘要

一、简介 设计方法的参数是,可以将部分参数和全部参数分配默认值,然后调用这些方法的时候可以选择不提供部分实参,使用参数定义的默认值,另外,还可以在调用方法的时候通过指定参数名称来传递

一、简介

设计方法的参数是,可以将部分参数和全部参数分配默认值,然后调用这些方法的时候可以选择不提供部分实参,使用参数定义的默认值,另外,还可以在调用方法的时候通过指定参数名称来传递实参。

二、代码案例

    class Program
    {
        private static int s = 0;
        private static int s_n = 0;

        private static void Mothed(int x = 9, string s = "A", DateTime dt = default(DateTime), Guid guid = new Guid())
        {
            Console.WriteLine("x={0},s={1},dt={2},guid={3}", x, s, dt, guid);
        }
        static void Main(string[] args)
        {

            Mothed();//等同于Mothed(9,"A",default(Datetime),new Guid())
            Mothed(8, "X");//等同于Mothed(8,"X",default(Datetime),new Guid())
            Mothed(5, guid: Guid.NewGuid(), dt: DateTime.Now);//等同于Mothed(5,"A",DateTime.Now,Guid.NewGuid())
            Mothed(s_n++, s_n++.ToString());//等同于Mothed(0,"1",default(Datetime),new Guid());
            Mothed(s: (s_n++).ToString(), x: s_n++);//等同于一下两行代码,注意此处的参数顺序无关,和形参的名称对应
            //string t1="2";
            //int32 t2=3;  
            //Mothed(t2,t1,default(Datetime),new Guid())
        }
    }

向方法传递实参时,编译器从左到右的顺序对实参进行求值。在对Mothed的第四个调用中s_n的当前默认值是0,先递增然后等于1转为string传递给s,然后继续递增到2(s_n++先使用后递增)传给x。

三、总结

1.实参可按照任意顺序传递,但命名实参必须且只能出现在实参列表尾部,如上述代码第三种调用方式。
2.可以按照名称将实参传递给没有默认值的参数。但所有必须的实参都必须传递(无论按照位置还是按照名称),编译器才能编译代码。
3.C#不允许省略逗号之间的实参,比如M(1,,DateTime.New).因为这样会造成可读性的影响,程序员将被迫去读 逗号,对于没有默认值的参数,如果想省略它们的实参,以传参数名的方式传递实参即可。

到此这篇关于C#中命名参数和可选参数的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C#中命名参数和可选参数

本文链接: https://www.lsjlt.com/news/146680.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#中命名参数和可选参数
    一、简介 设计方法的参数是,可以将部分参数和全部参数分配默认值,然后调用这些方法的时候可以选择不提供部分实参,使用参数定义的默认值,另外,还可以在调用方法的时候通过指定参数名称来传递...
    99+
    2022-11-13
  • C#中命名参数和可选参数怎么应用
    这篇“C#中命名参数和可选参数怎么应用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#中命名参数和可选参数怎么应用”文章吧...
    99+
    2023-06-30
  • C#中的out参数、ref参数和params可变参数用法介绍
    out参数: out关键字 通过引用来传递参数,在定义方法和调用方法的时候都必须使用out关键字 简单来讲out可以用来返回多个参数类型。 static void Ma...
    99+
    2022-11-12
  • C++命名空间和缺省参数介绍
    一、命名空间 为什么引入命名空间 在C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行...
    99+
    2022-11-12
  • 浅析C/C++中的可变参数与默认参数
    千万要注意,C不支持默认参数 C/C++支持可变参数个数的函数定义,这一点与C/C++语言函数参数调用时入栈顺序有关,首先引用其他网友的一段文字,来描述函数调用,及参数入栈: ---...
    99+
    2022-11-15
    可变参数 默认参数
  • JavaScript中为什么命名参数比位置参数
    这篇文章将为大家详细讲解有关JavaScript中为什么命名参数比位置参数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 什么是位置参数你一定很熟悉位置...
    99+
    2022-10-19
  • ES6如何命名参数
    小编给大家分享一下ES6如何命名参数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!命名参数解构使得函数声明和函数的调用更加可读/...
    99+
    2022-10-19
  • Python中的函数参数(位置参数、默认参数、可变参数)
    目录一、位置参数二、默认参数三、可变参数四、关键字参数五、命名关键字参数六、各种参数之间的组合函数的参数:Python中函数定义非常简单,由于函数参数的存在,使函数变得非常灵活应用广...
    99+
    2022-11-12
  • 『C++成长记』C++入门——命名空间&缺省参数
     🔥博客主页:小王又困了 📚系列专栏:C++ 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、C++的认识 📒1.1什么是C++ &...
    99+
    2023-10-20
    c++ 开发语言 c语言
  • Python 关键字参数和可变参数
    关键字参数 如果你有一些具有许多参数的函数,而你又希望只对其中的一些进行指定,那么你可以通过命名它们来给这些参数赋值——这就是python关键字参数(Keyword Arguments)——我们使用命名(关键字)而非位置(一直以来我们所使...
    99+
    2023-01-31
    参数 关键字 Python
  • C/C++可变参数的使用
    可变参数即表示参数个数可以变化,可多可少,也表示参数的类型也可以变化,可以是int,double还可以是char*,类,结构体等等。可变参数是实现printf(),sprintf()...
    99+
    2022-11-15
    可变参数 C C++
  • Python3之命名关键字参数
    def func(x,y,*,a,b): print(x) print(y) print(a) print(b) func(1,2,a=3,b=4) 在*后面的参数都是命名关键字参数,传值的时候...
    99+
    2023-01-31
    关键字 参数
  • Java中方法优先调用可选参数还是固定参数
    目录固定参数可选参数注意事项1.可选参数是从0到无穷2.一个方法只能有一个可选参数3.可选参数必须要放在方法最后4.可选参数和其他同名方法组成方法重载优先调用固定参数还是可选参数?结...
    99+
    2022-11-13
  • Python命令行参数的选择
    本篇内容介绍了“Python命令行参数的选择”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!需要模块:sys参数个数:len(sys.argv...
    99+
    2023-06-17
  • 如何理解VB.NET可选参数
    如何理解VB.NET可选参数,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。VB.NET还是比较常用的,于是我研究了一下VB.NET可选参数,在这里拿出来和大家分享一下,希望...
    99+
    2023-06-17
  • VB.NET可选参数如何调用
    这篇文章主要介绍了VB.NET可选参数如何调用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。可以指定过程参数是可选的,并且在调用过程时不必为其提供变量。“可选参数”在过程定义...
    99+
    2023-06-17
  • VB.NET如何使用可选参数
    这篇文章主要为大家展示了“VB.NET如何使用可选参数”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VB.NET如何使用可选参数”这篇文章吧。VB.NET作为微软推出的一款基于面向对象的编程语言...
    99+
    2023-06-17
  • C++中占位参数和默认参数的示例分析
    这篇文章将为大家详细讲解有关C++中占位参数和默认参数的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1,默认参数在c++中,函数的形参列表中的形参是可以有默认值的。语法: 返回值类型 函数名 (...
    99+
    2023-06-29
  • C++11可变参数模板的参数转发举例分析
    本篇内容主要讲解“C++11可变参数模板的参数转发举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11可变参数模板的参数转发举例分析”吧!实例很多软件系统都存在日志(log)功能,通...
    99+
    2023-06-19
  • C语言可变参数函数详解
    目录C语言可变参数函数总结C语言可变参数函数 C 语言允许定义参数数量可变的函数,这称为可变参数函数(variadic function)。这种函数需要固定数量的强制参数(manda...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作