我有一個簡單的Metro風格應用程序,它給我一個問題(異步&等待)。Metro風格應用程序中的異步和等待問題
List<string> fileNames = new List<string>();
...
...
LoadList();
...
...
(Problem) Code that accesses the elements of the fileNames List
...
...
private async void LoadList()
{
// Code that loops through a directory and adds the
// file names to the fileNames List using GetFilesAsync()
}
的問題是,文件名列表過早訪問 - 之前,滿載物品。
這是由於異步方法 - 當異步方法繼續處理時,程序繼續執行下一行代碼。
如何在完全加載後訪問列表(在完成異步方法後)?
有沒有辦法在Metro應用程序中不使用異步來完成我想要做的事情?
這似乎是錯誤的地方使用異步。你真的希望這是一個同步操作。 –
@ Dan-o我正在使用GetFoldersAsync()和GetFilesAsync()。這些是否有同步替代方案? –