我创建了一个List列表来存储随机生成的数据但是我的实现显示了以下intellisense错误“变量名在当前上下文中不存在”。我哪里出错了?以下是我的代码所需的部分。
List<List<string>> DataList = new List<List<string>>();
//Some Code
for (int i = 0; i < num; i++)
{
List<string> strVal = new List<string>();
foreach (string someVal in SomeList)
{
//Some Code
strVal.Add(data);
}
DataList.Add(strVal);
}
for (int i = 0; i < num; i++)
{
foreach (IList<string> name in DataList)
{
foreach (string listVal in strVal) // Error Here
{
//Some Code
}
}
}
我哪里出错了?感谢。
答案 0 :(得分:2)
您正在第一个strVal
循环中定义for
并尝试在第二个循环中访问它。
strVal
在第一个for
循环结束时超出范围。在第一个循环之外定义它,以便两个循环都可以访问它。
List<List<string>> DataList = new List<List<string>>();
//Some Code
List<string> strVal = new List<string>();
for (int i = 0; i < num; i++)
{
foreach (string someVal in SomeList)
{
//Some Code
strVal.Add(data);
}
DataList.Add(strVal);
}
for (int i = 0; i < num; i++)
{
foreach (IList<string> name in DataList)
{
foreach (string listVal in strVal)
{
//Some Code
}
}
}
这是导致错误的原因,尽管它可能不是您打算做的。请参阅@Chen的答案以获得更符合逻辑的内容:)
答案 1 :(得分:2)
foreach (IList<string> name in DataList)
{
foreach (string listVal in strVal) // Error Here
{
//So
应该是
foreach (IList<string> name in DataList)
{
foreach (string listVal in name ) // Error Here
{
//So