C# 同一类的不同对象的方法代码是否存在于可执行文件中?

C# 同一类的不同对象的方法代码是否存在于可执行文件中?,c#,C#,如果我创建一个由10个A类对象组成的数组,那么对象方法是否会(在程序集中)为每个对象出现10次,或者仅为方法代码的单个实例出现10次,这将适用于不同对象的不同数据?否,代码属于该类,并且只会出现一次。数组和对象直到执行时才存在——考虑到数组的大小可能会有所不同,可执行文件不可能包含重复“足够”次的代码 请记住,对于所有对象,代码本身都是相同的——即使在内存中复制代码,也毫无意义,更不用说在文件中了。(在某些情况下,JITted代码可能会发生变化,以考虑基类和派生类之间的内联差异,但据我所知,Mi

如果我创建一个由10个A类对象组成的数组,那么对象方法是否会(在程序集中)为每个对象出现10次,或者仅为方法代码的单个实例出现10次,这将适用于不同对象的不同数据?

否,代码属于该类,并且只会出现一次。数组和对象直到执行时才存在——考虑到数组的大小可能会有所不同,可执行文件不可能包含重复“足够”次的代码


请记住,对于所有对象,代码本身都是相同的——即使在内存中复制代码,也毫无意义,更不用说在文件中了。(在某些情况下,JITted代码可能会发生变化,以考虑基类和派生类之间的内联差异,但据我所知,Microsoft CLR不会发生这种情况。)

否,代码属于该类,并且只会表示一次。数组和对象直到执行时才存在——考虑到数组的大小可能会有所不同,可执行文件不可能包含重复“足够”次的代码


请记住,对于所有对象,代码本身都是相同的——即使在内存中复制代码,也毫无意义,更不用说在文件中了。(在某些情况下,JITted代码可能会发生变化,以考虑基类和派生类之间的内联差异,但据我所知,Microsoft CLR不会发生这种情况。)

否,代码属于该类,并且只会表示一次。数组和对象直到执行时才存在——考虑到数组的大小可能会有所不同,可执行文件不可能包含重复“足够”次的代码


请记住,对于所有对象,代码本身都是相同的——即使在内存中复制代码,也毫无意义,更不用说在文件中了。(在某些情况下,JITted代码可能会发生变化,以考虑基类和派生类之间的内联差异,但据我所知,Microsoft CLR不会发生这种情况。)

否,代码属于该类,并且只会表示一次。数组和对象直到执行时才存在——考虑到数组的大小可能会有所不同,可执行文件不可能包含重复“足够”次的代码



请记住,对于所有对象,代码本身都是相同的——即使在内存中复制代码,也毫无意义,更不用说在文件中了。(在某些情况下,JITted代码可能会发生变化,以考虑基类和派生类之间的内联差异,但据我所知,Microsoft CLR不会发生这种情况。)

可执行文件中只存在该方法的一个实例。调用该方法时,将向其传递一个指针,指向要处理的特定对象的数据成员。

可执行文件中只存在该方法的一个实例。调用该方法时,将向其传递一个指针,指向要处理的特定对象的数据成员。

可执行文件中只存在该方法的一个实例。调用该方法时,将向其传递一个指针,指向要处理的特定对象的数据成员。

可执行文件中只存在该方法的一个实例。调用该方法时,将向其传递一个指针,指向要处理的特定对象的数据成员。

尝试一个简单的实验。用几个方法创建一个类,实例化一个实例,然后编译。请注意可执行文件的大小。然后修改您的程序以创建1000个实例并重新编译。如果您在运行时创建用户选择的某个大小的数组,会发生什么情况?想想看。程序集中只定义了一个方法,如果类或方法是泛型的,则在运行时可能有多个版本。在创建可执行文件时,甚至无法确定在执行过程中将创建多少对象。请尝试一个简单的实验。用几个方法创建一个类,实例化一个实例,然后编译。请注意可执行文件的大小。然后修改您的程序以创建1000个实例并重新编译。如果您在运行时创建用户选择的某个大小的数组,会发生什么情况?想想看。程序集中只定义了一个方法,如果类或方法是泛型的,则在运行时可能有多个版本。在创建可执行文件时,甚至无法确定在执行过程中将创建多少对象。请尝试一个简单的实验。用几个方法创建一个类,实例化一个实例,然后编译。请注意可执行文件的大小。然后修改您的程序以创建1000个实例并重新编译。如果您在运行时创建用户选择的某个大小的数组,会发生什么情况?想想看。程序集中只定义了一个方法,如果类或方法是泛型的,则在运行时可能有多个版本。在创建可执行文件时,甚至无法确定在执行过程中将创建多少对象。请尝试一个简单的实验。用几个方法创建一个类,实例化一个实例,然后编译。请注意可执行文件的大小。然后修改您的程序以创建1000个实例并重新编译。如果您在运行时创建用户选择的某个大小的数组,会发生什么情况?想想看。程序集中只定义了一个方法,如果类或方法是泛型的,那么在运行时可能会有多个版本。在创建可执行文件时,甚至无法确定在执行过程中将创建多少对象。