首页 > 编程语言 >C#初步学习3(个人笔记,基于老赵.Net的视频自学,不喜勿喷)

C#初步学习3(个人笔记,基于老赵.Net的视频自学,不喜勿喷)

时间:2023-03-04 12:55:06浏览次数:49  
标签:C# 方法 数据类型 参数 不喜 Net ref out

//此笔记仅针对个人学习而写,会有所缺失的内容,不喜勿喷

初步学习

C#中的方法

C#中的方法和java中的也十分相似,但C#中的方法是默认被“private”修饰的
如下图所示

image

同样的,若不加修饰,C#中的方法也只能返回一个值(数组,集合)
例:所写代码及其运行结果如下

image

C#方法中的三种参数

在C#中,方法还可以使用“out,ref,params”三种参数来方便我们使用

out参数

C#中的方法可以通过数组或集合返回多个值,但是若通过数组,只能返回相同数据类型的值,使用集合也比较繁琐,这个时候就可以通过使用out参数来使方法返回多个值

规范为形参和实参前都要写上“out”
out修饰的数据类型必须为变量,且使用了“out”参数的值必须在所调用方法中赋值,否则会报错,如下图

image

例:所写代码及其运行结果如下
image

ref参数

“ref”的规则和作用与out相似,用于修改传入方法中的值
但是“ref”参数必须在所调用方法外赋值,否则会报错,如下图

image

众所周知,局部变量调用方法不返回变量,是无法改变其值的,如下图

image

这种情况下可使用ref参数解决问题

image

params参数

“params”参数可以将实参列表中与数组的数据类型相同的元素都当做数组元素处理

编写规则为形参前要加上“params”,且数据类型实参要与形参相同

image

标签:C#,方法,数据类型,参数,不喜,Net,ref,out
From: https://www.cnblogs.com/growth-a/p/17177830.html

相关文章

  • .NET静态代码织入——肉夹馍(Rougamo) 发布1.4.0
    肉夹馍(https://github.com/inversionhourglass/Rougamo)通过静态代码织入方式实现AOP的组件,其主要特点是在编译时完成AOP代码织入,相比动态代理可以减少应用启动的初始化时......
  • C#命令行编译和执行
    原文网址:https://www.freesion.com/article/6085155031/1.将源代码编译成托管模块 <1>使用支持CLR的任何语言创建源代码文件。 创建一个Cat.cs文件,内容如下: usin......
  • 我做的百度飞桨PaddleOCR .NET调用库 我做的百度飞桨PaddleOCR .NET调用库
    .NETConf2021中国我做了一次《.NET玩转计算机视觉OpenCV》的分享,其中提到了一个效果特别好的OCR识别引擎——百度飞桨PaddleOCR,可离线部署,后来我逐步把它封装了一下,代码......
  • C#环境搭建,以及C#编译器的使用
    原文:https://tool.4xseo.com/a/25168.html搭建nuget包管理器HomePagewindows环境下,可以下载安装包:Download使用最新版本的C#编译器C#5.0之后,微软将csc开源并独立运行......
  • C#中的bin和obj文件夹有什么用?
    原文网址:https://zhuanlan.zhihu.com/p/435379436Bin目录用来保存项目生成后程序集,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默......
  • CSS & JS Effect – Blue Tick Avatar
    效果 难点难题只有一个,那就是如何把bluetickimage定位当avatar的右下角. HTML<divclass="avatar-wrapper"><imgclass="avatar"src="../images/ava......
  • [From 2.4]C#编译器和程序集链接器(以及一些它们的命令开关)
    原文:https://blog.csdn.net/weixin_30481087/article/details/96836436C#编译器:(用csc命令来使用C#编译器)程序集链接器(AssemblyLinker):(用al命令来使用C#编译器)除了使用......
  • Spring Boot @Scheduled 是同步还是异步,单线程还是多线程?
    @schedule刚开始用的时候回遇到一些坑,主要就是他的同步、异步、多线程的配置问题,这篇文章介绍了@schedule的使用方法,读者遇到问题时可以参考下。1.问题@schedule注解默......
  • 第2章 C语言提高专题篇
    指针入门到精通(一)指针是什么​ 如果在程序中定义了一个变量,在对程序进行编译时,系统就会给该变量分配内存单元,编译系统根据程序中定义的变量类型,分配一定长度的空间​ ......
  • acwing 297 赤壁之战
    给定一个长度为n的序列,求它有多少个长度为m的严格递增子序列。  f[i][j]+=f[i-1][k](a[k]<a[i],k<i)  优化:维护前缀和,根据a[k]<a[i] ,以a[]为下......