我有一个看起来像这样的foreach循环
foreach (Student newSortedStudent in studentWithData)
{
newSortedStudent.Fees = newSortedStudent.Fees.OrderBy......ToArray();
}
但现在我需要访问这个newSortedStudent对象并使用它进行更多操作。
如果我这样做
foreach (Student newSortedStudent in studentWithData)
{
newSortedStudent.Fees = newSortedStudent.Fee.OrderBy......ToArray();
}
foreach(Student studentData in **newSortedStudent**)
{
....
}
我收到错误newSortedStudent在当前上下文中不存在。
那么如何在foreach循环之外访问newSortedStudent呢?
由于
答案 0 :(得分:1)
您可以使用嵌套的loop
并在内部循环中使用外部loop
对象,如下所示。
foreach (Student newSortedStudent in studentWithData)
{
foreach(Student studentData in newSortedStudent.Fee.OrderBy......ToArray())
{
....
}
}
答案 1 :(得分:0)
您需要访问哪个newSortedStudent
?你只是通过他们的集合循环。由于某种原因,它不属于范围。我建议:
1)将其设置为您尝试使用的范围中存在的变量(即在foreach循环之前定义变量,然后确定使用哪个newSortedStudent
设置它)。或者您可以将其索引存储在变量中,并使用它在studentWithData
或
2)在循环中完成循环中你需要做的事情。
如果不确切知道自己要做什么,很难知道是否需要这些或其他解决方案。
答案 2 :(得分:0)
你需要在循环之前定义一个可变的。将newSortedStudent对象存储在内部循环中。然后在循环之后访问该变量!
这就像
Student s = new Student();
foreach (Student newSortedStudent in studentWithData)
{
newSortedStudent = newSortedStudent.Fee.OrderBy......ToArray();
s = newSortedStudent;
}
// Use s for your manipulations
答案 3 :(得分:0)
foreach (Student newSortedStudent in studentWithData)
{
foreach(Student studentData in newSortedStudent)
{
....
}
}
答案 4 :(得分:0)
试试这个,
Student sortedStudent = null;
foreach (Student newSortedStudent in studentWithData)
{
sortedStudent = newSortedStudent.Fee.OrderBy......ToArray();
}
if(sortedStudent != null){
foreach(Student studentData in sortedStudent)
{
....
}
}
答案 5 :(得分:0)
有很多方法可以将变量/对象放在范围之外。 1.一种方法是使用带有一些标志的嵌套循环。 2.当newStoreStudent填充新值时,首先公开创建Student类型对象,然后将newStoreStudent分配给此对象。