c# - 无法读取 Metro 应用程序中的文本文件?

标签 c# windows-8 windows-runtime

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

    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/

相关文章:

c++ - native C++ 将 IIterable 传递给 WinRT

c# - 以文化中立的方式为 Word 2007 设置行间距

c# - 正在发送 HTTP header ,但不存在于 Request.Headers 中

javascript - 使用 rect() 的 HTML5 Canvas 性能很差

windows-runtime - 如何等待 IAsyncAction?

.net - 如何在 Windows 10 上强制 WinRT 应用程序全屏显示?

c# - 如何将调试器附加到脚本

c# - 如何在 MonoDroid 中使用应用内结算?

javascript - 链接到 Windows 应用商店中的应用程序

c# - 如何将文本框的文本获取到另一个xaml中的文本 block ?时间:2019-01-17 标签:c#windowsstoreapp