从 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);
}
}
}
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(...