gpt4 book ai didi

java - 如果 C# 的基本类型以不同的方式实现,性能会有所不同吗?

转载 作者:行者123 更新时间:2023-12-01 17:50:43 25 4
gpt4 key购买 nike

如果 C# 的内置数据类型的实现方式与 Java 的基本数据类型的实现方式相同,性能是否会有差异?

例如,在C#中,如果我们编写以下代码:

int foo = 1;

我们正在声明并实例化一个对象,对吗?

然而,在Java中,当我们编写同一段代码时,我们并没有实例化一个对象。由于 'int' 是 "implemented directly by the Java compiler and the JVM."

所以我想知道如果 C# 使用与 Java 相同的实现,是否会产生影响——也就是说,每次在 C# 中使用像 int 这样的基本数据类型时,不创建一个对象.

最佳答案

For example, in C#, if we write the following code:

int foo = 1;

we are declaring and instantiating an object, right?

不;您正在声明堆栈上的本地值类型或值类型实例字段。涉及零个物体。 int 不是对象类型,并且 Int32int 在 .NET 中完全相同

(实际上,一种情况,foo最终可能会导致额外的对象 - 与某些方法中的局部变量的处理方式相关;aysnc、迭代器 block 、lambda 等)

by not making an object every time a primitive data type like int is used in C#.

这正是 C# 所做的事情,并且一直都是这样做的。更多:与 Java 不同,这也适用于泛型。

关于java - 如果 C# 的基本类型以不同的方式实现,性能会有所不同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50493592/

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