C# C“使用”打印变量;执行官;命令

C# C“使用”打印变量;执行官;命令,c#,python,exec,C#,Python,Exec,在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 = ("Con

在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"
  }  
字符串行;
对于(int i=1;i<200;i++)
{
行=(“控制台写入线(场景1\u f”+i);
//执行“行”
}  

谢谢。

我认为,如果您在试用c语言时阅读一些内容,那将是明智的。同时,如果我在尝试回答此类问题之前查阅一些Python教程,那将是明智的

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

“scene1_f1”到“scene1_f200”变量可能是某些c类型的实例,如
场景
类,该类具有一些在对象实例上操作的属性和方法

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

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

 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);
公共类场景
{
公共场景(字符串名称)
{
名称=名称;
}
公共字符串名称{get;set;}
//…更多的财产
公众抽签()
{
//绘图逻辑
}
//…更多的方法。
公共重写字符串ToString()
{
//在这里返回您想要的
//场景对象的字符串表示形式。
返回“场景”+名称;
}
}
//在代码的其他部分中,创建并添加场景对象
var scenesList=新列表();
添加(新场景(“某些场景名称”);
//添加更多
//现在,您可以将它们打印到控制台,如下所示:
foreach(场景列表中的var场景)
控制台。WriteLine(场景);

python中的
exec
命令是什么?不要这样做。使用数组而不是200个不同的变量。@blorgbeard以及您的建议如何帮助实现OP提出的问题:“我如何在C#中执行类似的操作?(不使用列表)”啊,我错过了“不使用列表”这个选项。我还是说这是个坏主意,OP应该使用列表,除非他有很好的理由不使用。@Blorgbeard所以在你看来,为了在c#中“打印一个包含11个变量的列表”(即范围[1,2,3,4,5,6,7,8,9,10]),需要一个列表吗?