-1

在 python 中打印 11 个变量的列表,我会使用“Exec”来打印。有 11 个项目的列表,此代码将它们全部打印出来。

for count in range(1,11):
    question = ("print " + "question" + str(count))
    exec question

我将如何在 C# 中做类似的事情?(不使用列表)

这是我到目前为止所拥有的

string line;
for (int i = 1; i < 200; i++)
  {
line = ("Console.WriteLine(scene1_f"+i);
    // Execute "line"
  }  

谢谢。

4

1 回答 1

1

我认为如果您在尝试一些东西的同时阅读一些关于 c# 语言的东西,那将是明智的。同时,如果我在尝试回答此类问题之前先查阅一些 Python 教程,那将是明智之举。

尽管 c# 支持动态类型和表达式,但它主要用于创建“强类型”构造。对于您提供的示例,我相信没有简单/简单的直接翻译。

您的“scene1_f1”到“scene1_f200”变量可能是某些 c# 类型的实例,例如Scene类,它具有一些对对象实例进行操作的属性和方法。

如果您有多个Scene对象要对其执行相同类型的操作(例如将它们打印到您的示例中的控制台),通常认为以某种方式对它们进行分组是一种好习惯,例如将它们添加到列表或将它们存储在一个数组中。

为了说明我的意思,我添加了一个假设示例:

 public class Scene
 {
      public Scene(string name)
      {
          Name = name;
      }

      public string Name { get; set; }

      // ... more properties

      public void Draw()
      {
          // logic for drawing
      }

      // ... more methods.

      public override string ToString()
      {
          // here return what you would want to have as
          // a string representation of a Scene object.
          return "Scene " + Name;
      }
 }


 // in a different part of your code, create and add the Scene objects
 var scenesList = new List<Scene>();

 scenesList.Add(new Scene("Some scene name"));
 // add more

 // Now you can print them to the console like this:
 foreach (var scene in scenesList)
     Console.WriteLine(scene);
于 2013-08-26T01:29:01.580 回答