繁体   English   中英

在foreach循环外使用foreach循环的变量

[英]using variable of the foreach loop outside foreach loop

我有一个foreach循环,并且在循环内创建了一个字符串,但是我想在循环外使用var,这可能吗?

    List<int> roleIntList = new List<int>();
    foreach(var rolenodes in roleIntList){          
     string myStr = "hello";
    }

您可以在循环外声明该字符串:

string myStr = null;
List<int> roleIntList = new List<int>();
foreach(var rolenodes in roleIntList){          
    myStr = "hello";
}

然后,在循环运行之后, myStr将包含最后分配的值。

绝对不可能这样做,在foreach循环内声明变量“ inside”也不是一个好主意,为什么不考虑这一点:

List<int> roleIntList = new List<int>();
string myStr;
foreach(var rolenodes in roleIntList){          
   myStr = "hello";
}

...

//use myStr

对于每个(表达式中的类型标识符 ){语句}

注意:上述情况下的标识符代表集合元素的迭代变量。 当标识符是跟踪参考运算符(C ++组件扩展)时,可以修改元素。 完全执行每个循环的时刻超出范围

您在寻找这样的东西吗?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {

            List<string> myStr = new List<string>();
            List<int> roleIntList = new List<int>();

            roleIntList.Add(1);
            roleIntList.Add(2);
            roleIntList.Add(3);
            roleIntList.Add(4);

            foreach (var rolenodes in roleIntList)
            {
                string ss = rolenodes.ToString();
                myStr.Add(ss);
            }

            foreach (string s in myStr)
            {
                Console.WriteLine(s);
            }

            Console.Read();


        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM