reference-type

    0热度

    1回答

    我有我的程序的主要组件在主线程中运行。该程序能够将用户的工作保存到文件中,但额外的元信息与用户的工作一起保存。 例子: [Serializable] public Class UserWork { // Lots of things in here. Lots of work user has done, etc... } 在节目中,我存储有两件事情像设置等假设这些都是bool

    1热度

    4回答

    我正在从一个类构造几个对象,并使用这些类中的特定函数来启动线程。现在,包含构建这些对象的成员函数的Class拥有一个静态专用Mutex成员。我将这个静态成员传递给构造函数,并且在每个构造函数中,传递的Mutex(可能是通过引用)被分配给另一个本地成员。 如果我然后使用这些本地Mutex成员中的每一个来确保线程安全,我将能够实现这一目标吗?我相信这样一个事实,无论包含Thread函数的对象有多少个不

    10热度

    2回答

    我假定Python中的序列类型是值类型。事实证明,它们是引用类型(意味着变量的值在分配给新变量时不会被复制,而是被引用)。所以现在我想知道,Python中的值类型是什么?也就是说,我可以将哪些类型的Python分配给新变量,而不用担心变量被引用?

    0热度

    2回答

    如果值类型是对象(我已经看到ValueType确实继承自Object)为什么它们不像Object一样?它们不能为空,所以看起来它们没有参考,并且它们必须被装箱/拆箱。当作为参数传递时,它们的行为与原始类似,但由于您可以调用它们的方法,它们似乎也可以作为参考类型。我读过它们通常分配在堆栈上,这使得它们再次成为值类型。就拳击而言,我看不到int和Integer的Java等价物,只是Int32结构,所以

    3热度

    2回答

    所以我今天发现,当用C#中的变量赋值时,结构和类的行为是不同的。这是我的理解,当我将一个结构赋值给一个变量,变量存储该结构的一个副本,并且当我将一个类分配给一个变量时,该变量存储对该类实例的引用。 在这种情况下,dad2包含dad1的副本,所以不应该对dad2做任何事情而不会影响dad1?显然不是这样的,因为当我给爸爸添加一个儿子时,它也为爸爸添加了同一个儿子。 public struct Dad

    0热度

    3回答

    我需要调用SetSettings()并使用splitSettings中的3个元素,将EncodeAudio设置为False。 我该怎么做呢?将对象的属性转换为我在字符串中拥有的名称。 我意识到我可以用switch语句来处理所有设置,但必须采取更加动态的方式来执行此操作。 namespace SettingsLib { public class Settings {

    7热度

    4回答

    如果我在C#中声明接口,有没有什么办法可以明确地声明实现该接口的任何类型是引用类型? 我想这样做的原因是,无论我将接口用作类型参数,我都不必指定实现类型也必须是引用类型。 什么我要完成 例子: public interface IInterface { void A(); int B { get; } } public class UsingType<T> where

    2热度

    5回答

    我试图消化在C#规范,其中规定(4.2节)这种说法: 引用类型是类类型, 接口类型,数组类型或委托类型。 我知道结构可以实现接口。结构是价值类型。 所以,我很难调和这些信息。这是否意味着结构在通过接口类型处理时表现为引用类型?这将意味着,你可以得到一个值类型的引用...

    3热度

    2回答

    可能重复: Cloning objects in C# 我有属性的类,其中有些是引用类型(其他类的实例)自己(CookieContainer)。 我想要这个类的精确副本,所以对以前版本的任何更改都不会影响这个新实例。 是否有这种问题的一般解决方案,或者我应该手动做?

    3热度

    3回答

    可能重复: In C#, why is String a reference type that behaves like a value type? 我知道字符串是因为字符串的引用类型可以是非常大的,堆栈只有1 MB。但是编程而编码,我看到它像值类型为 如 string func_name(string streg) { streg="hello"; return streg;