Как разбить строку на c# с помощью переменной? - PullRequest
0 голосов
/ 07 мая 2020

Я не могу разделить строку с помощью переменной:

string directoryName = Path.GetDirectoryName(Global.filepath);
string relativePath = ofd.FileName.Split(directoryName);

Я получаю эту ошибку для directoryName: «Аргумент 1: невозможно преобразовать из 'string' в 'char'»

Есть ли у кого-нибудь другая идея? Спасибо за помощь.

Ответы [ 4 ]

2 голосов
/ 07 мая 2020

Существует специальная c перегрузка, которую вы можете использовать для этого.

Попробуйте что-то вроде

ofd.FileName.Split(directoryName, StringSplitOptions.None);

или

ofd.FileName.Split(new string[] { directoryName }, StringSplitOptions.None);
1 голос
/ 07 мая 2020

Вы можете использовать эту перегрузку разделенной строки Split(String[], StringSplitOptions)

var relativePath = ofd.FileName.Split(new string[] { directoryName}, StringSplitOptions.None);
0 голосов
/ 07 мая 2020

Хорошее начало - как обычно читать документацию . Там вы видите много перегрузок метода string.split.

В вашем случае вы пытаетесь использовать

public string[] Split (string separator, StringSplitOptions options = System.StringSplitOptions.None);

, но он возвращает string[] не string

string[] path = ofd.FileName.Split(directoryName)
0 голосов
/ 07 мая 2020

Google - ваш друг.

https://docs.microsoft.com/en-us/dotnet/api/system.string.split?view=netcore-3.1#System_String_Split_System_String_System_StringSplitOptions_

Приведенное выше поможет

string[] relativePath = ofd.FileName.Split(directoryName, StringSplitOptions.None);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...