2011-09-12 41 views
4

'的IEnumerable可能的多個枚舉' 爭取做一個foreach:幫助用foreach,越來越

foreach(User in userList) 
{ 

} 

如果用戶列表是IEnumerable<User> userList

我試着這樣做:userList.ToList(),但我得到的同樣的信息。

+2

userArray難道這ReSharper的關係嗎?你是否在同一個方法內的其他地方使用userList? – springy76

+0

是的,它是ReSharper的,認爲這是一個彙編的問題! – codecompleting

+0

http://confluence.jetbrains.net/display/ReSharper/Possible+multiple+enumeration+of+IEnumerable – hazzik

回答

9

在你foreach聲明中,你有沒有指定的User當前實例的標識符。嘗試添加的標識符(例如,currUser或只是user)類型User後,這樣的:

foreach(User user in userList) 
{ 

} 
4

它應該是:

foreach(User user in userList) 
{ 

} 
3

foreach循環需要你定義一個變量將每個迭代。你只定義的類和缺少變化。

foreach(User _user in userList) 
{ 

} 
5

其他的答案顯示你的語法問題,但一些工具(我認爲ReSharper的)會警告你,你可能會枚舉序列超過一次(甚至更VS - 不知道是因爲我使用它們在一起)。 如果是這樣的問題,喜歡寫東西

var userArray = userList.ToArray(); 

和使用,而不是用戶列表

+1

見R·文檔:[鏈接](http://confluence.jetbrains.net/display/ReSharper/Possible+ + IEnumerable的多個+枚舉+) – springy76