从 winForms 移植到 Windows Phone 8.0 C#

本文关键字:Phone Windows winForms | 更新日期: 2023-09-27 18:36:40

有人可以通过将这段用winForms编写的C#代码移植/翻译到Windows Phone 8.0来帮助我吗?我真的很挣扎,我无法让它工作,我可能阅读了我能拿到的每一份文档,但我就是无法让它工作。我知道堆栈流不是人们为你编写代码的地方,但我绝望了。任何帮助不胜感激 我试图从文本文档和图像中加载有关我的应用程序的一些信息,我将这些内容加载到图像数组和字符串数组中。这是代码:

private static string[] _folderPaths = Directory.GetDirectories(@"Folders");
    private string[] _imagePaths;
    private List<string> _questionsPaths = new List<string>();
    private List<string> _correctAnswersPaths = new List<string>();
    private List<string> _allAnswersPaths = new List<string>();
for (int i = 0; i < _folderPaths.Length; i++)
        {
            var _tempLocations = Directory.GetFiles(_folderPaths[i], (i + 1).ToString() + "*.txt*");
            _imagePaths = Directory.GetFiles(_folderPaths[i], "*.png", SearchOption.TopDirectoryOnly);
            foreach (string item in _tempLocations)
            {
                if (item == "Folders''" + (i + 1).ToString() + "''" + (i + 1).ToString() + ".txt")
                {
                    _questionsPaths.Add(item);
                }
                if (item == "Folders''" + (i + 1).ToString() + "''" + (i + 1).ToString() + "answerswer" + ".txt")
                {
                    _correctAnswersPaths.Add(item);
                }
                if (item == "Folders''" + (i + 1).ToString() + "''" + (i + 1).ToString() + "answerswers" + ".txt")
                {
                    _allAnswersPaths.Add(item);
                }
            }
        }

从 winForms 移植到 Windows Phone 8.0 C#

Windows Phone中使用的相应类型是(当然不是精确映射):

Directory -> StorageFolder
Directory.GetDirectories -> StorageFolder.GetFoldersAsync
Directory.GetFiles -> StorageFolder.GetFilesAsync

所以翻译后的代码将是这样的(你也需要熟悉新的await-async关键字)

using Windows.Storage; 
var folder = await ApplicationData.Current.LocalFolder.GetFolderAsync("Folders"); 
var subFolders = await folder.GetFoldersAsync();
foreach (StorageFolder subFolder in subFolders)
{
    var tempFiles = await subFolder.GetFilesAsync(...