【问题标题】:When declaring an object, how to use variable as the name?声明对象时,如何使用变量作为名称?
【发布时间】:2014-05-08 09:35:37
【问题描述】:

我可以使用变量内部的值来命名对象吗?如果是这样,该声明的语法是什么? 每个对象都必须有一个不同的名称。将 XXXX 变暗,因为 NEW_ARRAY 被命名为 XXXX。由于我将拥有 10,000 个对象,因此我想使用循环自动创建这些对象。但是,如果对象创建循环一遍又一遍地使用相同的名称,我知道该对象会覆盖自己 9999 次。该对象只有一个实例。

我想使用一个变量的值作为那个不同的名称。但是,我认为在声明对象时在名称位置输入变量的名称只会一遍又一遍地覆盖第一个对象。 是否存在将先前声明的变量的 VALUE 作为对象名称的特定语法? 所以,XXXX= 1111 将“XXXX”调暗为 NEW_ARRAY 将被命名为 1111 那么XXXX=2222 将“XXXX”调暗为 NEW_ARRAY 将被命名为 2222 那么XXXX=3333 将“XXXX”调暗,因为 NEW_ARRAY 将被命名为 3333。

【问题讨论】:

  • 如果你修改了你正在尝试的东西,你会发现你的假设是错误的。如果您有 10k 个东西,则将它们存储在数组中为 XXX(index) = 1111。该数组仍将命名为 XXX,但位置 index 的元素将包含值 1111
  • 我有一个变量 XXXX,只要循环运行,它就会发生变化。我想将该变量的值用作数组的名称。运行一个循环,XXXX 的值发生变化。创建另一个数组,命名为 XXXX 的最新值。我最终会得到大约 10,000 个不同的数组。会有一个单独的数组来跟踪 XXXX 的不同值。
  • 您不能将数组(或任何东西)命名为值(11111)。此外,必须在编译时知道变量,因此您不能根据尚未发生的事情给变量命名。 (这变成了一个 XY 问题)为了跟踪您可以将结果存储在 List(Of T) 中的内容,以便最后一个是最新的和/或它们中的每一个都可以是任何数组。跨度>

标签: vb.net


【解决方案1】:

对象没有名字,变量有。 @StevenDoggart 已经详细说明了 for you

如果问题是“我可以使用变量内部的值来命名新变量吗?”简短的回答是“不,你不能”。在 .NET 中拥有这样的特定功能是没有意义的。

您可以使用字典实现类似行为,正如许多询问 .NET 中的动态变量名称的帖子中所建议的那样。您可以将字典键视为变量名,将字典值视为变量值。据我所知,鉴于 .NET 中存在这种 动态变量名 功能,您可以做些什么,使用字典同样可以做得很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 2021-11-30
    相关资源
    最近更新 更多