对c#中的类实例使用指针

本文关键字:指针 实例 | 更新日期: 2023-09-27 18:00:32

我最近从C++切换到C#,我想知道如何在C#中实现等效功能。在C++中,我本可以做到这一点:

Enemy *enemy; 
enemy = new Enemy("Goblin", 20, 20); 

在c#中,我尝试了指针方法和使用委托,但都失败了。问题是,我的文本RPG中有多个敌人,我需要将一个特定的敌人分配给我的敌人指针类,这样我就可以预制战斗过程。

对c#中的类实例使用指针

C#具有引用,而不是C++风格的指针。因此,对于您的示例,您只需执行以下操作:

Enemy enemy; //enemy is a reference to an Enemy
enemy = new Enemy("Goblin", 20, 20); //the reference points to a Enemy instance in the heap

另一个有趣的区别是,除了可以存储在堆栈上的一些基元值类型(intfloatdoubledecimalbool、structs、枚举)之外,几乎所有东西都是引用