如何通过字符串名称调用变量
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);
在我的应用程序中,我使用名称为 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);