“ref”和“out”关键字有什么区别?

2024-04-07

我正在创建一个函数,我需要在其中传递一个对象,以便该函数可以修改它。有什么区别:

public void myFunction(ref MyClass someClass)

and

public void myFunction(out MyClass someClass)

我应该使用哪个,为什么?


ref告诉编译器该对象在进入函数之前已初始化,而out告诉编译器该对象将在函数内初始化。

所以虽然ref是双向的,out仅限外出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“ref”和“out”关键字有什么区别? 的相关文章

随机推荐

  • 对城市的区域名称进行地理编码以获取纬度和经度

    我有我所在城市的区域名称列表 我需要相同的纬度和经度 我可以使用任何服务来获取数据吗 我不想使用任何地图 我想进行简单的 api 调用并通过 json 或 xml 获取经纬度 虽然问题已经得到解答 但我想补充一点 谷歌并不是唯一提供地理编码
  • 搜索 django 中表中的所有字段

    如何使用过滤子句在django中搜索表中的所有字段 ex table object filter 表中的任何字段 sumthing Thanks 我同意阿拉斯代尔的观点 但你问题的答案是这样的 from django db models i
  • react-native-google-places-autocomplete 给它一个值,而不仅仅是默认(初始)值

    我有一个工作
  • 在eclipse中播放ogg文件

    所以我试图在我的乒乓球游戏中添加声音 但由于某种原因我似乎无法播放声音 没有错误消息 这意味着路径是正确的 但声音根本不正确玩 以下是我的背景音乐代码 把pong的东西都删掉了 先谢谢了 import java applet Applet
  • Maui-blazor 渐变闪屏

    是否可以设置渐变启动画面 在例子中 https learn microsoft com en us dotnet maui user interface images splashscreen tabs android
  • Misra 2012 不允许在不同指针之间进行转换的基本原理

    我目前正在开发一个项目 该项目要求代码符合 Misra 2012 标准 在整个项目中 我们有很多必需的 Misra 警告 告诉我们无法将指向一种类型的指针转 换为指向另一种类型的指针 事情很简单void memcpy void to con
  • GET/POST 参数数量超出设置。DATA_UPLOAD_MAX_NUMBER_FIELDS

    我收到错误 GET POST 参数的数量超出了设置 DATA UPLOAD MAX NUMBER FIELDS 错误表明 TooManyFieldsSent 在 api upload 我在我的views py def upload requ
  • 如何使用 vaadin 网格导出到 csv/excel?

    在 Vaadin 14 中 我正在创建网格 并希望用户有一种稳定 简单的方法将网格内容导出到 csv 或最好是 Excel 为此 我很惊讶 Vaadin 似乎没有提供此功能 因此必须使用第 3 方开发人员插件 例如https vaadin
  • 三个点应该怎么写?

    简单的问题 我想设置一个 TextView 其中我想要三个点 省略号 喜欢 Read more 到字符串中 这三个点应该怎么写呢 在字符串文字中写入 u2026 看http www fileformat info info unicode
  • Google Maps API v3 - 为什么没有事件上下文?

    第一次使用 Google Maps API v3 我得到了一张带有一堆标记的地图 我想做到这一点 以便当您单击其中一个时 将显示一个特定的信息窗口 特定于您单击的标记 我真的很惊讶点击事件没有告诉您被点击的实际标记 我知道有一个解决方案使用
  • 使用批量/更新方法将“标签”应用于数百万个文档

    我们的 ElasticSearch 实例中有大约 55 000 000 个文档 我们有一个带有 user ids 的 CSV 文件 最大的 CSV 有 9M 个条目 我们的文档以 user id 作为键 所以这很方便 我发布这个问题是因为我
  • 基于欧几里德距离的 3D 连接点标记

    目前 我正在开发一个项目 该项目尝试通过将连通性指定为最小欧几里德距离来对数据集中的 3d 点进行分组 我现在的算法只是简单的洪水填充的 3D 改编 size t PointSegmenter growRegion size t seed
  • C# 特定进程的参数,使用 url 打开浏览器

    我正在编写一个应用程序 该应用程序应该通过单击按钮来打开某个进程 但是 用户可以添加新按钮 我使用以下代码来执行单击按钮时启动进程的操作 private void StartProcess string path ProcessStartI
  • 查找两首或多首歌曲交集的算法

    假设我们有一堆收音机 每个收音机都一遍又一遍地循环播放同一首歌 是否可以同步所有收音机中的所有歌曲 我们能找到一个时间从头听到所有歌曲吗 为了简单起见 我们会说我们只有两个收音机 我有以下公式 c 和 z 代表歌曲的长度 以秒为单位 a 和
  • Postfix + Django:SMTPException:服务器不支持 SMTP AUTH 扩展 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我对 Postfix 完全是新手 只需为 Ubuntu 设置默认的 Postfix 通过 telnet 测试它 它可以正常发送邮件 但是当我尝试通过
  • 保持 Android Studio 的特定依赖顺序

    我正在尝试在 Android Studio 中使用 Robolectric 运行单元测试 我快到了 我明白了 JUnit version 3 8 or later expected java lang RuntimeException St
  • 在使用 AWS API Gateway 和 VPC Link 时如何避免配置错误? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我已根据 AWS 文档使用网络负载均衡器 NLB 创建了 VPC 链接 并将其附加到 API 网关资源 方法 但在访问 调用 URL
  • 带滚动条的 JavaScript 弹出窗口

    我有一个在中心弹出窗口的功能 我希望它有一个垂直滚动条 function popUpCal var url calendar flight maint php var width 700 var height 600 var left pa
  • 如何使用 JavaScript 比较软件版本号? (仅限数字)

    这是软件版本号 1 0 1 0 1 2 0 2 0 0 1 2 0 1 我如何比较这个 假设正确的顺序是 1 0 1 0 1 2 0 2 0 0 1 2 0 1 这个想法很简单 读第一个数字 然后读第二个 然后读第三个 但我无法将版本号转换
  • “ref”和“out”关键字有什么区别?

    我正在创建一个函数 我需要在其中传递一个对象 以便该函数可以修改它 有什么区别 public void myFunction ref MyClass someClass and public void myFunction out MyCl