如何通过字符串名称调用变量

How can I call variable by string name

在我的应用程序中,我使用名称为 dp1、dp2、....dp13 的变量以便在循环中使用它们,并且我想在 for 循环中调用 thame。我想像下面给出的那样使用它。

DataPoint dp1,dp2,dp3,dp4,dp5;
string s1,s2,s3,s4,s5;
for(int i=1;i<=5,i++)
{
  GetVariable("dp"+i.ToString()).Add(val1, val2);
  GetVariable("s"+i.ToString())="MyStringValue";
}

我该怎么做?我看到有些地方让我用System.Reflection,但我不知道怎么用

试试这个:

List<DataPoint> DataPoints = new List<DataPoints>();
List<string> strings = new List<string>();

DataPoints.Add(new DataPoint);
DataPoints.Add(new DataPoint);
DataPoints.Add(new DataPoint);
DataPoints.Add(new DataPoint);
DataPoints.Add(new DataPoint);

strings.Add("");
strings.Add("");
strings.Add("");
strings.Add("");
strings.Add("");

for(int i=1;i<=5,i++)
{
     DataPoints[i].Add(val1, val2);
     strings[i] = "MyStringValue";
}

也许这会奏效

       List<DataPoint> DataPoints = new List<DataPoint>();
        List<string> Strings = new List<string>();

    
        double val1 = 1;
        double val2 = 2;
        
        int pointNumber = 13;
        do
        {
            DataPoints.Add(new DataPoint(val1, val2));
            Strings.Add("MyStringValue");
            pointNumber--;
        }
        while (pointNumber > 0);