Как я могу вернуть несколько массивов с разными значениями? В моей первой функции я получаю все файлы, которые находятся в моей папке.Возвращение нескольких массивов с разными значениями
В моей второй функции я извлекаю для каждого файла «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