【问题标题】:How to use variable outside for() and foreach() in C#?如何在 C# 中使用 for() 和 foreach() 之外的变量?
【发布时间】:2016-01-26 12:38:58
【问题描述】:

我不知道如何从 for 获取结果以在 foreach 循环中使用。

我的代码如下:

List<string> lstNameImage = new List<string>();
for (int i = 0; i < lstImgAdded.Items.Count; i++)
{
    string imgPath = lstImgAdded.Items[i].SubItems[0].Text;
    lstNameImage.Add(imgPath);
}
foreach (var items in lstNameImage)
{
    Image img = Image.FromFile(items[0].ToString());       // how to using img in before for loop?
}

【问题讨论】:

  • 您在评论中是指imgPath 而不是img?如果是这样,items 将已经包含该信息。将您的代码更改为Image img = Image.FromFile(items);

标签: c#


【解决方案1】:

您可以更改以下行

string imgPath = lstImgAdded.Items[i].SubItems[getRows].Text;

只是

string imgPath = lstImgAdded[i];

foreach item 变量中已经包含您想要获取的列表项,因此传递 item 就足够了

foreach (var item in lstNameImage)
{
    Image img = Image.FromFile(item);   
}

【讨论】:

    【解决方案2】:

    这段代码:

    foreach (var items in lstNameImage)
    {
        Image img = Image.FromFile(item);   
    }
    

    在功能上等同于:

    foreach (int index = 0; index < lstNameImage.Count; index++)
    {
        var item = lstNameImage[index];
        Image img = Image.FromFile(item);   
    }
    

    因此是 Rahul 的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-03
      • 1970-01-01
      相关资源
      最近更新 更多