reference-type

    0热度

    1回答

    我正在阅读Jon Skeet的优秀书籍C# In Depth。他在关于装箱和拆箱的部分中提到,使用盒装物品的开销很小,可以在一个足够大的规模上实现性能差异。 因此,我编写了自己的基准测试,使用for循环将所有数字从1增加到100,000,000。在一种情况下,我使用Int32,然后int,然后我投到object并退回到int。重复所有测试10次并取平均值。结果(以秒计): 的Int32平均:0.3

    3热度

    2回答

    我想将引用类型对象传递给方法并从那里更改它。当我改变它时,我没有对传递给方法的变量进行更改。 这里是例子: public interface IPerson { string Name { get; } } public class Teacher : IPerson { public string Name { get; set; } public st

    2热度

    1回答

    在c#中,数据类型分为引用类型和值类型。 然后在PHP,数据类型仍划分为c#? 我觉得很有意思。 阵列是在大多数语言的引用类型。 例如,在C#: int[] a ={1,4,5}; int[] b = a; a[1] = 10; print(a); print(b) a和b是[1,10,5] 但在PHP,假设有以下代码: <?php $a=array(

    0热度

    1回答

    我知道,在扩展转换中,目标数据类型可以包含源数据类型提供的任何值。我可以在转换值类型时明白这一点, 但不能在引用类型之间。我的问题是从如下场景: public class Person { public string Name { get; set; } } public class Employee : Person { public string SurName

    -1热度

    1回答

    值类型化结构是基于堆栈的变量,驻留在处理器缓存而不是RAM中。所以通过使用值类型变量避免通过系统总线从处理器到RAM的跳转应该比使用参考类型变量更快。因此,而不是做stackallock(Practical use of `stackalloc` keyword)我创建了一个如下结构表示基于堆栈的数组: [StructLayout(LayoutKind.Sequential)] public s

    3热度

    3回答

    Albaharis的第四版“C#4.0 IN NUTSHELL”第249页: “......调用object.ReferenceEquals保证了正常的引用平等。 所以,我决定测试一下。 首先,我尝试了像这样的值类型。 int aa1 = 5; int aa2 = aa1; MessageBox.Show("object.ReferenceEquals(aa1,aa2) is: " + obj

    18热度

    4回答

    我仍然怀疑object。它是任何类别的主要基类。但是它是引用类型还是值类型。或者像这些行为中的哪一个呢?我需要澄清这一点。我很难理解这一点。 object obj1 = "OldString"; object obj2 = obj1; obj1 = "NewString"; MessageBox.Show(obj1 + " " + obj2); //Out

    2热度

    3回答

    我有20个左右的事件类,都从EventDto继承。这些子类都被序列化/反序列化(使用DataContractJsonSerializer,与每个子类被添加为[KnownType(typeof运算(subclasstype))]属性),则反序列化方法是这样的: private EventDto DeserializeMessage(byte[] body) { var stre

    -5热度

    1回答

    通过使用引用数组中的元素的方法来修改数组中的值类型是安全的,如下所示?如果是这样,可以通过这种方式修改哪些类型的值类型?它仅限于简单的值类型还是struct也可以工作?里德科普塞和阿列克谢Levenkov 的 // Method that sets an integer to x. void SetToX(ref int element, int x) { element = x;

    2热度

    2回答

    我想用重载的操作符创建一个CLI值类c_Location,但我认为我有一个拳击问题。我已经实现了操作符重载,如许多手册中所见,所以我相信这一定是正确的。 这是我的代码: value class c_Location { public: double x, y, z; c_Location (double i_x, double i_y, double i_z) : x(i_