Farklı Değerlere sahip birden fazla Diziyi nasıl iade edebilirim? İlk işlevimde Klasörümdeki tüm dosyaları alıyorum.Farklı Değerlere sahip birden fazla dizi döndürme
İkinci işlevimde, her dosya için "modDesc.xml" dosyasını alıyorum ve Bilgilerimi bunun dışına çıkartıyorum. Şimdi her dosya için tüm bu bilgileri içeren bir dizi dönmek istiyorum! Ama nasıl olduğunu bilmiyorum .. Umarım birileri bana yardım edebilir!
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];
}
Teşekkür ederiz! Bence işe yarıyor ..: P Listeden değeri nasıl alabilirim? – Cryrexon
Bir döngü kullanarak bunu yineleyebilir veya belirli bir dizini çekmek için 'yourList.ElementAt (index)' komutunu kullanabilirsiniz. Ayrıca, bir dizi diziyi geri döndürmek isterseniz, yönteminizin dönüş türünü 'string [] []' olarak değiştirebilir ve sadece 'fileInformation' dönüşünü fileInformation.ToArray()' i döndürerek değiştirebilirsiniz. indekslerine göre referans verirsiniz (diğer dizilerdeki gibi). –
Benim foreach döngüsüm var foreach (fileInformaton içinde var dosya) 've şimdi diziden bilgileri başka bir listeye almak istiyorum' var list = new Mod {isModEnabled = true, modTitle = dosya [] []}; ' Onları nasıl alabilirim? Üzgünüm, yeni başlayan biriyim:] – Cryrexon