我第一次可以阅读文本文件。当我下次尝试读取相同的文本文件时,它退出函数并返回空值。
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);
}
请给我建议,如何解决这个问题..
谢谢 谢赫阿卜杜拉
最佳答案
不要忘记 readtextFile
是一个异步方法。当你调用它时,它实际上是在到达第一个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
。
关于c# - 无法读取 Metro 应用程序中的文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10512355/