我来自Python背景,正在处理创建许多同名变量的代码,并在末尾附加一个整数,需要在C#中复制Python的f 'something here {variable}'方法。我该怎么办?
即
int num1 = 1;
int num2 = 2;
int num3 = 3;
int num4 = 4;
字符串
等等
有没有办法做到
for (int i=1;i<5;i++)
{
int f'num{i}' = i;
}
型
我来自Python背景,正在处理创建许多同名变量的代码,并在末尾附加一个整数,需要在C#中复制Python的f 'something here {variable}'方法。我该怎么办?
即
int num1 = 1;
int num2 = 2;
int num3 = 3;
int num4 = 4;
字符串
等等
有没有办法做到
for (int i=1;i<5;i++)
{
int f'num{i}' = i;
}
型
2条答案
按热度按时间k3bvogb11#
在理想的世界中,你永远不会给变量编号,而只使用数组(或其他集合)。所以你会有:
字符串
这要求你的变量列表是 * 一个 * 可索引的变量(像数组)
型
在C#中,从字符串访问变量的唯一方法是使用反射(这是一个相当高级的概念,容易出错,而且效率不高)。话虽如此,你会做这样的事情:
型
请注意,这仅适用于
num1
等。是现有类成员(它不会创建它们),并且不是函数的本地成员。如果你有局部变量,你基本上就不走运了。7xllpg7q2#
这是一个String Interpolation的示例。
$"num{i}"
这样的东西应该适合你