首页 > 编程语言 >C#的函数使用 和参数修饰符 out ref params

C#的函数使用 和参数修饰符 out ref params

时间:2024-02-24 11:56:47浏览次数:22  
标签:C# res 修饰符 int params 参数 ref out

  // 函数和方法
        // 函数好比对象的动作行为 在定义函数的时候,职责(作用/功能)越单一越好 满足高内聚 低耦合的开发思路
        // 变量的命名规则 小驼峰
        // 函数的命名规则 大驼峰  动词开头
        // 函数的参数  参数可以认为是外部需要函数帮忙处理的数据  外部通过传参的形式把需要处理的参数传递给函数处理
        // 函数的返回值 可以理解为外部调用某种行为(函数)后得到的一种反馈;
        // 函数的声明
        //public int Add(int i, int y)
        //{
        //    return 123;
        //}

        // 参数修饰符
        // 无参数修饰符 默认 值传递  就是形参是实参的副本 形参的改变不会影响实参的值
        // out 修饰符 输出的参数由被调用的方法赋值   引用传递(地址传递) 调用的时候不赋值
        //   void add(int i,int y,out int res)
        //{
        //    res = i + y;
        //}
        // 调用的时候也要加上修饰符 out res是变量 形参的改变影响实参的值  res 
        //add(10,20,out int res);  // ps 调用函数的时候 由out修饰的形参必须要在函数体里面赋值 否则报错
        // ref 修饰符 调用者赋初值 也可以由被调用的方法重新赋值(引用传递) ps:被调用的方法未能给ref参数赋值 不会报错(out会报错)
        //   void sub(int i,int y,out int res = 10)  
        //{
        //    res1 = i + y;  // 就算不给 ref 参数 res 赋值也不报错
        //}
        // sub(10,20,ref int res = 100)  // ref 参数赋初值
        // params  params只能作为形参的最后一个参数 是一个可变的参数值
        // 这个参数修饰符允许将一组可变的数量的参数作为单独逻辑参数进行传递
        // 方法之能有一个params修饰符 而且必须是方法最后一个参数

            // out 和 ref 的区别
            // 1. out 修饰的参数必须在方法内修改  ref 可以修改也可以不修改
            //2 . out 在传入参数的时候,out不用赋值, ref 必须赋值

 

标签:C#,res,修饰符,int,params,参数,ref,out
From: https://www.cnblogs.com/zhulongxu/p/18030920

相关文章

  • 【数据结构】C语言实现图的相关操作
    图图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。术语无向图:每条边都是无方向的图有向图:每条边都是有方向的图完全图:任意两个点都有一条边相连的图边:无向图中的边弧:有向图中的边稀疏......
  • C# 的显示转换 *.Parse(string) Convert.ToInt32(double value)
    //显式转换(类型)///(int)表示使用强制的显示转换,是一种类型转换,C#默认的整形是int32,///因此使用此方法转成int32不遵循四舍五入,直截取整数部分///(int)5.12结果是5///Int.Parse()指把string类型转换int......
  • ACM基础数学知识
    1、异或相同的数,异或结果为0,不同的数,异或结果为1.异或会用在nim博弈和一些数学中。可以找出n+1个数中,唯一一个与其他的数不同的数异或有个性质:一个数对另一个数异或两次,数值不变。性质应用:交换两个数x=x^y;//x=3^4y=x^y;//y=3^4^4=3x=x^y;//x=......
  • C# 中的数组使用
    ·//数组///数组是一组相同类型的数据(ps:js中的数组可以不同类型)访问通过索引访问数组元素///数组的声明要使用new使用{}来初始化数组元素还需要指定数组的大小/////声明了一个没有元素的数组int[]iar......
  • 体系结构领域的CCF类期刊
    CCF-A期刊1 TOCS ACMTransactionsonComputerSystems ACMhttp://dblp.uni-trier.de/db/journals/tocs/2 TOS ACMTransactionsonStorage ACMhttp://dblp.uni-trier.de/db/journals/tos/3 TCAD IEEETransactionsonComputer-AidedDesignofIntegratedCircuitsan......
  • CF1932F Feed Cats
    现在能写了。考虑dp做法。在读入数据之后,我们下意识地对每条线段\((l_i,r_i)\)进行排序。随后经过尝试,我们可以排除以猫的编号为阶段进行dp的方案。因此我们选择以位置为阶段进行dp。设\(dp(i,0/1)\)表示位置\(i\)是否投喂能获得的最大价值。有转移方程(注意\(dp(......
  • delphi Byte 与 AnsiChar、WideChar 相互转换
    Byte与AnsiChar、WideChar相互转换代码Byte转AnsiChar、WideCharprocedureTForm1.Button1Click(Sender:TObject);varac:AnsiChar;wc:WideChar;bys:TBytes;begin//ANSI编码ac:='a';bys:=BytesOf(ac);Memo1.Lines.Add(bys[0].ToString);......
  • Navicat SQL导入大文件超过100%限制
    我使用Navicat将一个约2.7GB的sql文件导入到一个新的数据库。运行良好,直到我注意到它超过了100%的水平,现在达到了350%。显然没有显示错误。  :修改max_allowed_packet的值:找到my.ini文件【mysql目录下】:在[mysqld]模块【max_allowed_packet=4G】4G为最大修改值,:重启mysql......
  • CH32V208在BLE代码中实现万年历
    目录链接:https://pan.baidu.com/s/17l_nwhnSAKrhSEXSqqfLzA?pwd=wch6提取码:wch6在使用CH32V208实现万年历功能时,有以下几点特性需要注意①V208在跑BLE时,RTC分频默认配置为2分频约16K,无法配置为32768分频也就是1Hz。若配置为1Hz,TMOS系统的时钟会很慢,跑不起来。②V208没有设计类......
  • 【论文随笔】会话推荐系统综述(A Survey on Conversational Recommender Systems)
    前言今天读的论文为一篇于2021年5月发表在《ACM计算机调查》(ACMComputingSurveys)的论文,文章提供了对话式推荐系统(CRS)的全面综述,探讨了CRS的定义、概念架构、交互方式、知识元素、计算任务以及评估方法。文章还讨论了CRS在不同应用环境中的实现,如智能家居助手和聊天机器人,并指......