1
如何返回具有不同值的多个阵列?在我的第一个函数中,我得到了我的文件夹中的所有文件。返回具有不同值的多个阵列
在我的第二个函数中,我为每个文件提取“modDesc.xml”并从中获取我的信息。现在我想为每个文件返回包含所有这些信息的数组!但我不知道如何......我希望有人能帮助我!
这里是我的代码:
public string[] openDirectory(string DirectoryPath)
{
string[] files = Directory.GetFiles(DirectoryPath, "*.zip");
return files;
}
public string[] getModDesc(string DirectoryPath)
{
string[] files = openDirectory(DirectoryPath);
foreach (var file in files)
{
using (ZipFile zip = ZipFile.Read(file))
{
ZipEntry modDescHandler = zip["modDesc.xml"];
if (modDescHandler != null)
{
if (File.Exists("tmp\\modDesc.xml"))
{
File.Delete("tmp\\modDesc.xml");
}
modDescHandler.Extract("tmp");
XDocument modDesc = XDocument.Load("tmp\\modDesc.xml");
string modTitle = null;
string modAuthor = null;
string modVersion = null;
string modFileName = null;
try
{
modTitle = modDesc.Element("modDesc").Element("title").Element("de").Value;
modAuthor = modDesc.Element("modDesc").Element("author").Value;
modVersion = modDesc.Element("modDesc").Element("version").Value;
}
catch
{
}
modFileName = Path.GetFileName(file);
string[] modInformation = { modTitle, modAuthor, modVersion, modFileName };
File.Delete("tmp\\modDesc.xml");
return modInformation;
}
}
}
return new string[0];
}
谢谢!我认为它有效..:P我如何从列表中获得价值? – Cryrexon
您可以使用循环遍历它,也可以使用'yourList.ElementAt(index)'来提取特定的索引。另外,如果你只想返回一个数组数组,你可以将你的方法的返回类型改为'string [] []',只要将'return fileInformation'改为'return fileInformation.ToArray()',那么你就可以通过它们的索引来引用你的值(就像你在任何其他数组中)。 –
我有我的foreach循环foreach(var file in fileInformaton)'现在我想从数组中获取信息到另一个列表'var list = new Mod {isModEnabled = true,modTitle = file [] []};'我怎样才能得到它们?对不起,我是一个初学者:] – Cryrexon