1

我可以第一次阅读文本文件。当我下次尝试读取相同的文本文件时,它会退出函数并返回空值。

    static string configData = "";
    async public void readtextFile(string folder, string file)
    {
        StorageFolder storageFolder = await Package.Current.InstalledLocation.GetFolderAsync(folder);
        StorageFile storageFile = await storageFolder.GetFileAsync(file);
        configData = await FileIO.ReadTextAsync(storageFile);
    }

请建议我,如何解决这个问题..

感谢谢赫阿卜杜拉

4

1 回答 1

4

不要忘记这readtextFile是一个异步方法。当您调用它时,它实际上在到达 first 时返回await,因此此时configData尚未设置。您应该从该方法返回值,并等待该方法:

async public Task<string> readtextFile(string folder, string file)
{
    StorageFolder storageFolder = await Package.Current.InstalledLocation.GetFolderAsync(folder);
    StorageFile storageFile = await storageFolder.GetFileAsync(file);
    string configData = await FileIO.ReadTextAsync(storageFile);
    return configData;
}

...

string configData = await readTextFile(folder, file);

即使你想存储configData在一个字段中,你仍然需要await readtextFile在读取值之前。

于 2012-05-09T08:26:05.997 回答