.NET 4.x Некорректная работа TrimStart() - C#
Формулировка задачи:
Всем привет. Столкнулся со странной проблемой.
Имеется такой код:
Запускаю отладку приложения, тестирую и получаю такое:
в переменной
private void BtSelectDwgFile_OnClick(object sender, RoutedEventArgs e) { try { var ofd = new Autodesk.AutoCAD.Windows.OpenFileDialog("Выбор чертежа для добавления в базу", _dwgBaseFolder, "dwg", "name", Autodesk.AutoCAD.Windows.OpenFileDialog.OpenFileDialogFlags.NoFtpSites | Autodesk.AutoCAD.Windows.OpenFileDialog.OpenFileDialogFlags.NoShellExtensions | Autodesk.AutoCAD.Windows.OpenFileDialog.OpenFileDialogFlags.NoUrls | Autodesk.AutoCAD.Windows.OpenFileDialog.OpenFileDialogFlags.DefaultIsFolder | Autodesk.AutoCAD.Windows.OpenFileDialog.OpenFileDialogFlags.ForceDefaultFolder | Autodesk.AutoCAD.Windows.OpenFileDialog.OpenFileDialogFlags.DoNotTransferRemoteFiles); var needLoop = true; while (needLoop) { var ofdresult = ofd.ShowDialog(); if (ofdresult == System.Windows.Forms.DialogResult.OK) { var selectedFile = ofd.Filename; if (selectedFile.Contains(_dwgBaseFolder)) { if (DwgBaseHelpers.Is2010DwgVersion(selectedFile)) { TbSourceFile.Text = selectedFile.TrimStart(_dwgBaseFolder.ToCharArray()); BtAccept.IsEnabled = true; needLoop = false; } else { MpMsgWin.Show("Выбранный файл должен быть сохранен в версии AutoCAD 2010!"); } } else { MpMsgWin.Show("Указанный файл должен находиться в подпапке папки " + _dwgBaseFolder); } } else if (ofdresult == System.Windows.Forms.DialogResult.Cancel) return; else needLoop = false; } } catch (Exception exception) { MpExWin.Show(exception); } finally { Focus(); } }
selectedFile
значение "E:\\Проекты\\ModPlu5\\ModPlus_builded\\Data\\DwgBase\\Drawings\\Тестовая папка\\Тестовый Чертеж.dwg" в переменной_dwgBaseFolder
значение "E:\\Проекты\\ModPlu5\\ModPlus_builded\\Data\\DwgBase" Но после строчкиTbSourceFile.Text = selectedFile.TrimStart(_dwgBaseFolder.ToCharArray());
в текстовом поле я получаю результат "rawings\\Тестовая папка\\Тестовый Чертеж.dwg" Т.е. метод TrimStart() отрезает за компанию и первую букву! Даже не знаю в какую сторону начать копать проблемуРешение задачи: «.NET 4.x Некорректная работа TrimStart()»
textual
Листинг программы
public static string TrimStart(string target, string trimString) { var result = target; while (result.StartsWith(trimString)) { result = result.Substring(trimString.Length); } return result; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д