gpt4 book ai didi

c# - 添加一个实例以引用另一个实例中的字段

转载 作者:太空宇宙 更新时间:2023-11-03 15:31:44 24 4
gpt4 key购买 nike

请问,这个问题可能以不同的形式存在,但我真的到处搜索都没有看到。

我在 C++ 工作过,习惯了指针。我在用 C# 模拟代码替换我的逻辑时遇到问题。

这是我的 C# 代码:

class Parent
{
public Parent A { get; set; }
public Parent B { get; set; }

}

static void Main(string[] args)
{

Parent P1 = new Parent();
Parent X = new Parent();
Parent[] array = new Parent[10];
array[0] = P1;
array[1] = P1.A;
array[2] = P1.B;

array[1]= X;

//I expect P1.A to be X but it is null
}

我已经看到 C# 中有指针,但是有更好的方法吗?谢谢

编辑:

我的问题不完整。对不起。这是代码:

abstract class Parent
{

protected virtual int foo();
}

public class Son : Parent
{
public Parent A { get; set; }
public Parent B { get; set; }

protected override int foo()
{
return base.foo();
}

}

public class Daughter : Parent
{
public Parent A { get; set; }
public Parent B { get; set; }
}

static void Main(string[] args)
{

Son P1 = new Son();
Parent X = new Daughter();
Parent[] array = new Parent[10];
array[0] = P1;
array[1] = P1.A;
array[2] = P1.B;

array[1]= X;

//I expect P1.A to be X but it is null
}

最佳答案

你想要做的是:

      array[1].A = X;

关于c# - 添加一个实例以引用另一个实例中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33566922/

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