【问题标题】:C# Change Variable Name By Values in For LoopC# 在 For 循环中按值更改变量名
【发布时间】:2019-10-08 10:51:20
【问题描述】:

我有 4 个string List 变量:

var cat1 = new List<string>();
var cat2 = new List<string>();
var cat3 = new List<string>();
var cat4 = new List<string>();

if (value== "1")
{
    cat1.Add(value.ToString());
}

else if (value== "2")
{
    cat2.Add(value.ToString());
}

else if (value == "3")
{
    cat3.Add(value.ToString());
}

else if (value== "4")
{
    cat4.Add(value.ToString());
}

我可以通过在每个循环增量中更改变量名来使用for-loop,而不是使用 4 if-else

如:

for (int i = 1; i < 5; i++)
{
    cat[i].Add(value.ToString());
}

【问题讨论】:

  • 等等,您想将value.ToStrong() 添加到您的所有个列表吗?你为什么不把它一个接一个地添加呢?

标签: c# asp.net loops for-loop tostring


【解决方案1】:

将列表放在数组中,并在 for 循环中使用 0 到 4 的索引:

var cat1 = new List<string>();
var cat2 = new List<string>();
var cat3 = new List<string>();
var cat4 = new List<string>();

var cat = new[] { cat1, cat2, cat3, cat4 };

for (int i = 0; i < 4; i++)
{
    cat[i].Add(value.ToString());
}

【讨论】:

  • 您的代码会将value.ToString() 添加到此列表的所有。你为什么不直接var v = value.ToString(); cat1.Add(v); cat2.Add(v); cat3.Add(v); cat4.Add(v);
  • @vasily.sib 感谢您的建议。我已经实现了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-05
  • 1970-01-01
  • 2015-10-01
相关资源
最近更新 更多