2013-03-13 186 views
-1

之外的對象我有一個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

哪個newSortedStudent你需要訪問?你只是通過它們的集合。由於某種原因,它超出了範圍。我建議:

1)將它設置爲你想要使用的範圍內存在的一個變量(即在foreach循環之前定義一個變量,然後確定用哪個newSortedStudent來設置它)。或者你可以存儲它的指數在一個變量,用它來尋找它在studentWithData

2)你需要用它做內環路,同時在文中你有什麼它。

不知道你想要做什麼,很難知道是否需要這些或其他解決方案。

0

您需要在之前定義一個可用的循環。將newSortedStudent對象存儲在該變量內部的循環中。然後在循環之後訪問變量

因此,這將是像

Student s = new Student(); 

foreach (Student newSortedStudent in studentWithData) 
{ 
    newSortedStudent = newSortedStudent.Fee.OrderBy......ToArray(); 
    s = newSortedStudent; 
} 

// Use s for your manipulations 
1

您可以使用嵌套loop和使用外loop對象內環路下。

foreach (Student newSortedStudent in studentWithData) 
{ 
    foreach(Student studentData in newSortedStudent.Fee.OrderBy......ToArray()) 
    { 
     .... 
    }  
} 
+0

這是唯一有意義的答案。我無法相信在每次迭代中回答你應該替換單個變量的人數。 – JRoughan 2013-03-13 06:33:15

+0

你能解釋一下嗎?順便說一句,我希望它分開的意思是第一個foreach循環來排序數組。第二個foreach循環我以後再做。所以我不知道如果嵌套,你的意思是試圖一次結合所有任務 – user1618180 2013-03-13 06:43:52

+0

@JRoughan,你的權利。 – tariq 2013-03-13 06:57:18

0
foreach (Student newSortedStudent in studentWithData) 
{ 
    foreach(Student studentData in newSortedStudent) 
    { 
     .... 
    } 
} 
+0

我編輯我的問題你可以redit你的解決方案謝謝 – user1618180 2013-03-13 06:15:48

+0

你確定它的foreach學生 – tariq 2013-03-13 06:21:38

0

試試這個,

Student sortedStudent = null; 

    foreach (Student newSortedStudent in studentWithData) 
    { 
     sortedStudent = newSortedStudent.Fee.OrderBy......ToArray(); 
    } 

if(sortedStudent != null){ 
    foreach(Student studentData in sortedStudent) 
    { 
     .... 
    } 
    } 
+0

我編輯我的問題你可以redit你的解決方案謝謝 – user1618180 2013-03-13 06:16:42

0

有很多方法可以得到的範圍之內變量/對象。 1.一種方法是使用帶有標誌的嵌套循環。 2.然後公開創建Student類型對象,然後將newStoreStudent賦值給該對象,當newStoreStudent填充新值時。