Горячий поиск по наличию 2 xml файлов в одном операторе if?

Как следует из заголовка, я пытаюсь написать оператор if else, который ищет наличие двух файлов xml (и, если они существуют, у пользователя будет возможность выбрать один из них для загрузки), но в настоящее время все, что я могу сделать, - это другое, если утверждение, что предполагается, что есть только один из двух файлов,

private void yourCharacterInformationButton_Click(object sender, RoutedEventArgs e)
    {
        // This will search for and load the saved name class from the relevant Xml file.

ниже мой код Текущий код

я не смог найти ответ уже здесь после того, как пролистал некоторое время, если кто-то мог бы дать ответ, который был бы блестящим, опять же, все, что я хотел бы сделать, это искать наличие 2 файлов в одном и том же операторе if, например:

if(file.exists("ClassData.xml", "UserClassData.xml")
{
       messagebox.show("Which version do you want to load?").

1 ответ

Решение

Вы можете написать составные операторы if, используя && оператор.

if (File.Exists("NameData.xml") && File.Exists("ClassData.xml"))
{
    // Omitted for brevity...
}

Обе стороны должны быть верны, чтобы выполнить. System.IO.File метод класса для Exists принимает только одну строку. Вы можете написать метод, который принимает любое количество путей к файлам, и вызвать этот метод следующим образом (маленький Linq):

private bool AllFilesExist(params string[] paths)
{
    return paths != null && paths.All(File.Exists);
}

Затем вы можете вызвать этот метод из вашего вызова следующим образом:

private void yourCharacterInformationButton_Click(object sender, RoutedEventArgs e)
{
    if (AllFilesExist("NameData.xml", "ClassData.xml"))
    {
        // Omitted for brevity...
    }
}
Другие вопросы по тегам