.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;
}