@Anton_repr

Для чего здесь обрезается строка?

Только не ругайтесь, пожалуйста. Я изучаю чужой код и некоторые моменты не понимаю.

public class PathToBaseDirectory : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            string currentDirectory = System.Environment.CurrentDirectory;
            if (currentDirectory.EndsWith("\\bin\\Debug"))
            {
                int index = currentDirectory.IndexOf("\\bin\\Debug");
                currentDirectory = currentDirectory.Substring(0, index);
            }
            return currentDirectory + value.ToString();
        }
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return "";
        }
    }


Мне не особо понятны следующие строки :
<b> int index = currentDirectory.IndexOf("\\bin\\Debug");
                currentDirectory = currentDirectory.Substring(0, index);</b>
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
это попытка получить путь к папке проекта во время отладки, возможно программа использует какие то файлы включенные в проект - txt, json, xml, или еще что либо подобное. такие файлы удобно редактировать прямо в студии, во время разработки, но они не копируются в папку бинарного кода автоматически. а по задумке разработчика, вероятно, они должны лежать вместе с исполняемым фалом. может это конфиги.

ps в точности для этого сценария, есть и встроенный способ - открываем свойства любого такого файла, и там есть пунктик копировать в выходную папку

но если программа, во время работы изменяет содержимое дополнительных файлов, и его надо сохранить. тогда доступ в папку проекта - то что надо
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Мне не особо понятны следующие строки

Найти где начинается bin\Debug и взять то что до него, то есть полный путь до текущего проекта, так как при отладке он запускает из каталога Debug .
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы