gpt4 book ai didi

c# - 如果没有枚举, 字典的替代方案会产生编译时错误吗?

转载 作者:太空宇宙 更新时间:2023-11-03 19:30:34 27 4
gpt4 key购买 nike

首先,我为我缺乏知识而道歉,关于如何使它与许多人(无论如何,很多新手)相关 - 我唯一的编程经验是 Unity .不是that Unity ,这是我在搜索此站点时刚刚听说的。

我想知道对于这类事情是否有比类更好的数据结构:

class Cameras {
public Camera left, right;
} Cameras cameras;

我发现我自己创建了一堆类(它们不都是只有两个对象的容器),看起来它们最好由字典提供服务——除了,如果我搞砸了拼写,我希望有编译时错误,这不会发生在字符串作为键的情况下。我也不想只使用数组或列表,因为我不想记住什么 int 对应什么对象。我可以像这样为每个类创建枚举,然后切换到字典而不是类,但这对我来说听起来很荒谬(*)。有其他选择吗?在我看来,我需要的是一种结构,它可以让我定义类似于与数组或列表关联的枚举之类的东西,但我敢打赌你会有更好的主意。 ;-)

(*) 然而,根据你们提供的信息,这显然是存在的模型。对我来说,这似乎是一个需要解决的基本问题,我想知道为什么没有解决。我不知道下面的语法是否用于其他用途,但对我来说似乎是合理的。

public class StereoCameraSystem : MonoBehaviour {
// You populate cameras in the Unity Editor GUI.
// Have the language implement something like this...
[SerializeField] Camera [] {left, right} cameras;

// define StereoCameraSide enum here

void ListCameras () {
Debug.Log(cameras[left]); // ...so you can use this...
Debug.Log(cameras[StereoCameraSide.Left]); //...and avoid this.
}
}

最佳答案

字典不必由字符串索引。你可以有一个Dictionary<MyEnum, MyClass> , 和枚举索引。如果您在字典中查找某些内容时输入了错误的枚举标识符,那么您将获得完整的编译器错误检查。

关于c# - 如果没有枚举,<string, TValue> 字典的替代方案会产生编译时错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5250210/

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