【问题标题】:foreach over a list of strings in C#在 C# 中遍历字符串列表
【发布时间】:2016-01-21 14:22:48
【问题描述】:

我想在 C# 中执行以下操作,但我不知道如何在适当的位置实例化任何容器类型:

foreach (string aOrB in new Tuple("A","B"))
{
    fileNames.Add("file" + aOrB + ".png");
}

我知道在周围范围内创建 Tuple/Array/Set 容器的典型方式。有更好的吗?

【问题讨论】:

  • 那么你需要List的字符串还是Tuple?这是两种截然不同的数据结构。
  • 你的意思是new List<string>{"A", "B"}?还是迭代over properties是个挑战?
  • 或者你也可以只使用一个数组。 in new[] {"A", "B"}

标签: c#


【解决方案1】:

据我了解,您希望为您的循环提供一组临时定义的项目。您可以使用数组初始化语法来做到这一点:

foreach (string aOrB in new[] { "A", "B" })
{
    fileNames.Add("file" + aOrB + ".png");
}

这已经是一个缩写形式

foreach (string aOrB in new string[] { "A", "B" })
{
    fileNames.Add("file" + aOrB + ".png");
}

(如果编译器无法从元素中找出数组元素类型,则需要长格式)

【讨论】:

    【解决方案2】:

    您可以尝试以下方法:

    foreach(string aOrB in new List<string>() { "a", "b" })
    {
        fileNames.Add("file" + aOrB + ".png");
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-01
      • 2014-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-05
      相关资源
      最近更新 更多