C# 当参数是数组时,参数的大小是多少?
可能重复:C# 当参数是数组时,参数的大小是多少?,c#,C#,可能重复: 在我的机器上,指针是32位的,因此传递类对象的函数将传递32位(指向类对象的指针)。我经常听到关于c语言中数组的矛盾的事情,它们是引用类型,并且它们是通过值传递的。有人能告诉我,一个传递5个浮点数的数组的函数在传递该数组时会用到多少位吗?它是指针的大小,还是5*32 5个浮点数的大小?数组是引用类型,因此它只传递引用,而不是所有值 数组可以作为参数传递给方法参数。因为数组 如果是引用类型,则该方法可以更改元素的值 您可能会看到Jon Skeet的这篇文章:数组是引用类型,因此它只
在我的机器上,指针是32位的,因此传递类对象的函数将传递32位(指向类对象的指针)。我经常听到关于c语言中数组的矛盾的事情,它们是引用类型,并且它们是通过值传递的。有人能告诉我,一个传递5个浮点数的数组的函数在传递该数组时会用到多少位吗?它是指针的大小,还是5*32 5个浮点数的大小?数组是引用类型,因此它只传递引用,而不是所有值 数组可以作为参数传递给方法参数。因为数组 如果是引用类型,则该方法可以更改元素的值
您可能会看到Jon Skeet的这篇文章:数组是引用类型,因此它只传递引用,而不是所有的值 数组可以作为参数传递给方法参数。因为数组 如果是引用类型,则该方法可以更改元素的值
您可以看到Jon Skeet的这篇文章:所有数组都是引用类型: 引述: 数组类型是从抽象基类型派生的引用类型 数组。由于此类型实现IEnumerable和IEnumerable,因此 可以在C#中的所有数组上使用foreach迭代
因此,将数组传递给函数将传递一个引用,无论数组中有多少个元素,该引用的大小都是相同的。在您的示例中,这将是32位。所有数组都是引用类型: 引述: 数组类型是从抽象基类型派生的引用类型 数组。由于此类型实现IEnumerable和IEnumerable,因此 可以在C#中的所有数组上使用foreach迭代
因此,将数组传递给函数将传递一个引用,无论数组中有多少个元素,该引用的大小都是相同的。在您的示例中,这将是32位。数组是引用类型,每个引用的大小为4字节(在32位系统上)或8字节(在64位系统上)。对于引用,对于大小,只需将其长度与引用大小相乘,并添加类定义开销(变量的字节数很少,内存管理的字节数很少) 数组是引用类型,每个引用的大小为4字节(在32位系统上)或8字节(在64位系统上)。对于引用,对于大小,只需将其长度与引用大小相乘,并添加类定义开销(变量的字节数很少,内存管理的字节数很少) 但[可能]令人困惑的是,“引用”是按值传递的。。(所以它是“按值调用(引用)”,或者更简单地说是“按对象共享调用”)@pst,引用总是按值传递的,不是吗?我从来没说过不是。但是,它经常与“引用调用”混淆,这是一个愚蠢的重载术语,如果没有明确说明它(例如,“[array]通过值传递”),则会导致混淆,因为它是。。接下来是。@pst,谢谢,是的,它非常令人困惑:)但[可能]令人困惑的是,“引用”是按值传递的。。(所以它是“按值调用(引用)”,或者更简单地说是“按对象共享调用”)@pst,引用总是按值传递的,不是吗?我从来没说过不是。但是,它经常与“引用调用”混淆,这是一个愚蠢的重载术语,如果没有明确说明它(例如,“[array]通过值传递”),则会导致混淆,因为它是。。接下来是。@pst,谢谢,是的,这很让人困惑:),,(等--你能投票以重复的方式结束你自己的问题吗?因为,如果可以,选择一些…,,,(等--你能投票以重复的方式结束你自己的问题吗?因为,如果可以,选择一些…)