我有一个foreach循环,我在循环中创建了一个字符串,但我想在循环外使用var,是否可能?
List<int> roleIntList = new List<int>();
foreach(var rolenodes in roleIntList){
string myStr = "hello";
}
答案 0 :(得分:6)
如果在循环外声明字符串,则可以:
string myStr = null;
List<int> roleIntList = new List<int>();
foreach(var rolenodes in roleIntList){
myStr = "hello";
}
然后,在循环运行后,myStr
将包含最后指定的值。
答案 1 :(得分:1)
这绝对不可能,在foreach循环中声明变量“内部”也不是一个好主意,为什么不考虑这个:
List<int> roleIntList = new List<int>();
string myStr;
foreach(var rolenodes in roleIntList){
myStr = "hello";
}
...
//use myStr
答案 2 :(得分:0)
(表达式中的标识符类型){ 声明 }
注意:上述情况下的标识符 表示集合元素的迭代变量。当identifier是Tracking Reference Operator(C ++ Component Extensions)时,您可以修改元素。 它超出范围,每个循环的时刻都完全执行
答案 3 :(得分:0)
你在找这样的东西..
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();
}
}
}