C# 与 C++ 中的运算符 new

2024-04-25

来自 C++,我对使用newC# 中的关键字。

我知道它不像 C++ 那样工作new从某种意义上说,您不必手动控制对象的生命周期,因为 C# 具有垃圾收集功能。

然而,当阅读其他人的 C# 代码时,我注意到代码片段 1 中的语句。避免使用new总而言之,就像代码片段 2 中那样?

片段1

Foo fooInstance = new Foo();

片段2

Foo fooInstance;

我的问题是,片段 1 和片段 2 之间有什么区别,为什么我应该更喜欢其中一个?


假设 Foo 是像类一样的引用类型,第二个代码片段基本上只是分配一个指针。等效的 C++ 代码是

Foo* fooInstance;

您的片段一和片段二根本不相等。

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

C# 与 C++ 中的运算符 new 的相关文章

  • 模板类包装任意类型/非类型模板类

    假设我有一个模板类base和一个班级wrapper其中包含一个实例化成员base 我想定义班级wrapper这样它依赖于模板参数包 该参数包只是 传递 给实例化成员base 例如 考虑下面的代码 它工作得很好 include
  • C#中如何检测字符串是否为货币

    通常当我需要转换时currency string 如 1200 55 z 或 1 249 到十进制值我这样做 if currencyString Contains z decimal value Decimal Parse dataToCh
  • 如何调试参数化 SQL 查询

    我使用 C 连接到数据库 然后使用 Ad hoc SQL 来获取数据 这个简单的 SQL 查询非常方便调试 因为我可以记录 SQL 查询字符串 如果我使用参数化 SQL 查询命令 有没有办法记录 sql 查询字符串以进行调试 我想就是这样的
  • 处理 LINQ sum 表达式中的 null

    我正在使用 LINQ 查询来查找列的总和 并且在少数情况下该值有可能为空 我现在使用的查询是 int score dbContext domainmaps Where p gt p SchoolId schoolid Sum v gt v
  • 有没有比这更快的方法来查找目录和所有子目录中的所有文件?

    我正在编写一个程序 需要在目录及其所有子目录中搜索具有特定扩展名的文件 这将在本地驱动器和网络驱动器上使用 因此性能是一个问题 这是我现在使用的递归方法 private void GetFileList string fileSearchP
  • 控制台应用程序 .net Core 2.0 的配置

    在 net Core 1 中我们可以这样做 IConfiguration config new ConfigurationBuilder AddJsonFile appsettings json true true Build 这样就可以使
  • 如何检测斑点并将其裁剪成 png 文件?

    我一直在开发一个网络应用程序 我陷入了一个有问题的问题 我会尝试解释我想要做什么 在这里您看到第一个大图像 其中有绿色形状 我想要做的是将这些形状裁剪成不同的 png 文件 并使它们的背景透明 就像大图像下面的示例裁剪图像一样 第一张图像将
  • CMake - 将预构建库链接到 C# 项目

    我正在使用 CMake 构建 C 库 该库依赖于已构建的库 dll 我似乎无法让图书馆链接到我的图书馆 我尝试过使用target link libraries mylib external lib 我也尝试过暴力破解 reference e
  • 如何在不使用reinterpret_cast的情况下使用dlsym()加载函数?

    我正在尝试使用 clang tidy 来强制执行 C 核心指南 虽然它确实有很多有效点 但有一件事我无法真正解决 dlsym 返回一个void 我需要以某种方式将其转换为正确的函数指针 为此 我使用reinterpret cast 由于指南
  • _mm_max_ss 在 clang 和 gcc 之间有不同的行为

    我正在尝试使用 clang 和 gcc 交叉编译一个项目 但在使用时发现一些奇怪的差异 mm max ss e g m128 a mm set ss std numeric limits
  • 为什么以下代码不允许我使用 fgets 获取用户输入但可以使用 scanf?

    这是一个更大程序的简短摘录 但该程序的其余部分无关紧要 因为我认为我能够隔离该问题 我怀疑这与我使用 fgets 的方式有关 我读过 最好使用 fgets 而不是 scanf 但我似乎无法让它在这里正常工作 当我使用以下代码时 程序不会给我
  • C#:如何使用 SHOpenFolderAndSelectItems [重复]

    这个问题在这里已经有答案了 有人可以举例说明如何使用 shell 函数吗SH打开文件夹并选择项目 http msdn microsoft com en us library bb762232 VS 85 aspx来自 C 我不太明白如何使用
  • 在可观察项目生成时对其进行处理

    我有一个IObservable它会生成一次性物品 并且在其生命周期内可能会生成无限数量的物品 因此 我想在每次生成新项目时处理最后一个项目 因此Using http reactivex io documentation operators
  • 使用 Linq 进行异步Where过滤

    我有一个List通过填充的元素async调用 WebService 没问题 我需要过滤该列表以便在应用程序视图上显示某些内容 我试过这个 List
  • 标准 C 中的 sizeof 与 sizeof()? [复制]

    这个问题在这里已经有答案了 我看到一些直接使用 sizeof 的代码 想知道它是否是标准 C 令我惊讶的是 它运行得很好 这是一个例子 include
  • 通过 MSBuild 调用 cl.exe 时无限期挂起

    我正在尝试在我的 主要是 C 项目上运行 MSBuild 想象一下一个非常庞大的代码库 Visual Studio 2015 是有问题的工具集 Windows 7 SP1 和 VS 2015 更新 2 即使使用 m 1 从而迫使它仅使用一个
  • 在 unix 中编译 dhrystone 时出错

    我是使用基准测试和 makefile 的新手 我已经从下面的链接下载了 Dhrystone 基准测试 我正在尝试编译它 但我遇到了奇怪的错误 我尝试解决它 但没有成功 有人可以帮助我运行 dhrystone 基准测试吗 以下是我尝试编译的两
  • 有没有办法让 VS2010 在我的方法中扩展或收缩 try 块?

    我的代码有很多 try catch finally 块 与我在 VS2010 中的方法不同 除了添加区域之外 我无法在开发时扩展或收缩这些区域来隐藏内容 try vm R vm Qu vm T vm D vm Fil vm Type vm
  • 如何仅更改 DateTime 的日期部分,同时保留时间部分?

    我在代码中使用了很多 DateTime 我想将这些日期时间更改为我的特定日期并保留 时间 1 2012 02 02 06 00 00 gt 2015 12 12 06 00 00 2 2013 02 02 12 00 00 gt 2015
  • C++0x 中的新 unicode 字符

    我正在构建一个 API 它允许我获取各种编码的字符串 包括 utf8 utf16 utf32 和 wchar t 根据操作系统 可能是 utf32 或 utf16 新的 C 标准引入了新类型char16 t and char32 t没有这么

随机推荐

  • 在node.js 中创建链式方法?

    是否可以在 Node js 中创建像这样的异步链式方法 File create file jpg rename renamed jpg append Hello World 也就是说非阻塞 你基本上想要abstractAPI 上的文件处理操
  • ShapeDrawable 中的偏移形状

    我正在尝试使用扩展 ShapeDrawable 的类来绘制一个带有边框的圆角矩形 请参阅here https stackoverflow com questions 2145131 trying to draw a button how t
  • 有没有基于bootstrap的可视化网页编辑器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在完全自动反转重复周期之间延迟 SwiftUI 中的重复动画

    我正在 SwiftUI 中构建一个 Apple Watch 应用 它可以读取用户的心率并将其显示在心形符号旁边 我有一个动画可以让心形符号反复跳动 由于我知道实际用户的心率 因此我希望使其以与用户心率相同的速率跳动 并在每次速率变化时更新动
  • GAM SDK 测试安装后不显示 Gmail 上下文小工具

    在 Google Apps Marketplace SDK 中测试安装流程后 我无法在 Gmail 中看到上下文小工具 以下是我创建项目所采取的步骤 以域管理员身份登录 创建 Google Apps 控制台项目 创建 OAuth2 客户端
  • 如何在 Angular 6+ 中的本地计算机上运行 Dist 文件夹?

    我正在构建应用程序Angular6 现在我运行命令ng build prod这给了我一个 dist 文件夹 如何在本地主机上检查或提供该文件夹 你可以使用http服务器 https www npmjs com package http se
  • 如何列出已安装的 go 软件包

    据我所知go distribution带有某种package manager After go 1 4 1我已经运行的安装go help为了找到任何能够列出本地安装的子命令go packages 但不幸的是没有 那么该怎么做呢 goinst
  • python: from x import y 改变之前的导入结果

    我试图理解 python 中的包和模块名称隐藏规则 并偶然发现了一种情况 我不明白为什么我看到的结果有意义 这种情况发生在 python 2 中 from future import absolute imports 和Python 3 假
  • HTML5 视频在移动浏览器上自动播放

    我使用以下 HTML5 和 JQuery 代码来播放 URL 位于数组 URLArray 中的视频播放列表 function NextFrag if index lt URLArray length VideoContainer html
  • PHP 数组表示法中的大括号

    我刚刚遇到了一段非常奇怪的 php 代码 oink pig 1 var dump oink oink pig 123123 echo oink pig gt 123123 echo oink pig gt 123123 它的工作原理类似于数
  • TypeScript + NodeJS readline 属性缺失

    我正在使用 TypeScript 开发一个小项目tsc v 2 4 2和节点 v6 10 3 我想在 CLI 中捕获按键 所以我尝试import as readline from readline 然后稍后使用readline emitKe
  • 使用列表项的多重过滤器逻辑

    以下代码将搜索任何重复的类 li class duplicate duplicate 在无序列表中的列表项中 它将显示结果 show and hide 其他的 当前版本 目前它适用于两种场景 First 它显示具有相同类别 至少一个或多个
  • Python 中 FFT 的循环加速(使用“np.einsum”)

    Problem 我想加速包含大量乘积和求和的 python 循环np einsum 但我也愿意接受任何其他解决方案 我的函数采用形状为 n n 3 的向量配置 S 我的情况 n 72 并对 N N 点的相关函数进行傅里叶变换 相关函数定义为
  • 任务 :':app:mergeDebugResources' 执行失败。安卓工作室

    我刚刚安装了 android studio 出现一个错误 我不知道如何修复 尝试干净的项目 如果不起作用的话 然后 转到项目部分中的 build gradle 尝试降级gradle版本 From dependencies classpath
  • 离子范围滑块 2.0.3

    我正在尝试使用离子范围滑块 2 0 3 URL http ionden com a plugins ion rangeSlider demo advanced html http ionden com a plugins ion range
  • 类型错误:无法读取未定义的属性(读取“html”)

    我正在尝试将 Jest 引入我当前的项目 然而 在初始设置过程中 我遇到了这个错误 并且无法正常运行 我该如何解决这个问题 我目前正在使用 vue cli 中的 vue2 Test suite failed to run TypeError
  • 使用 Excel 连接函数

    我正在尝试将 Excel 中三列的数据合并到一列中 例如 我想将 Product Location 和 Key id 合并到一列中 Product Location Key Id Car VA 86421910 Car VA 8642448
  • 在 header("Location: ") 调用后是否调用 exit 有关系吗?

    我似乎无法找到答案 直到我发现这个帖子 http www php net manual en function exit php 90713 on exit在 php net 上 发送 Location 标头 PHP 后will继续解析 h
  • Matlab:不正确的索引矩阵参考(或智胜matlab)

    我希望能够写jasmine http pivotal github io jasmine 类似于 Matlab 中的测试 所以像 expect myfibonacci 0 toBe 0 expect myfibonacci 5 toBe 1
  • C# 与 C++ 中的运算符 new

    来自 C 我对使用newC 中的关键字 我知道它不像 C 那样工作new从某种意义上说 您不必手动控制对象的生命周期 因为 C 具有垃圾收集功能 然而 当阅读其他人的 C 代码时 我注意到代码片段 1 中的语句 避免使用new总而言之 就像