gpt4 book ai didi

c# - C# 中的 using(){...} 与 Cocoa 中的 autoreleasepool{...} 有相同的用途吗?

转载 作者:行者123 更新时间:2023-11-30 21:44:18 25 4
gpt4 key购买 nike

我发现了关于在 C# 中使用 using(){} --> Uses of "using" in C#

我知道 autorelease{}using(){} 不同,因为 Cocoa 使用 ARC 而 C# 使用 GC。 --> Is it necessary to use autoreleasepool in a Swift program?

我只是想向使用过这两种方法的人确认一下,它们是否确实用于相同的目的。

编辑:我找到了一个第三方 C# 编译器,它似乎确实将这些想法联系在一起。

RemObjects C# also has support for the (rarely needed) manual declaration of Auto-Release Pools via the using (__autoreleasepool) syntax.

http://www.elementscompiler.com/elements/hydrogene/cocoa.aspx

C# 中的 using(){...} 是否与 Cocoa 中的 autoreleasepool{...} 具有相同的用途?

最佳答案

不,它们是不同的。

C#的using语句是关于资源获取和处置的。这通常是外部资源(例如文件),获取是打开文件,处置是关闭文件。

Objective-C 的自动释放池是关于控制内存对象的生命周期。当池被排空时,放置在池中的对象被释放,对于默认池,这是在事件循环的每次迭代结束时。

关于c# - C# 中的 using(){...} 与 Cocoa 中的 autoreleasepool{...} 有相同的用途吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40941857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com