При вызове String.Split () найдено неоднозначное совпадение - PullRequest
0 голосов
/ 17 декабря 2018

Я программирую на JScript.NET , что похоже на C # .Я хочу разбить строку на несколько символов, в данном случае «-».

Проблема в том, когда я делаю это так (что должно быть способом сделать это в соответствии с this нить):

var text = "test - test2";

var array = [" - "];

var val = text.Split(array, StringSplitOptions.None);

Я получаю "Неоднозначное совпадение найдено".Это связано с тем, что класс String имеет функции Split(Char[], StringSplitOptions) и Split(String[], StringSplitOptions), а компилятор не знает, какой из них использовать.

Поэтому мой вопрос.Как мне сказать компилятору, что я использую строковый массив, когда массивы в JScript.NET динамически типизируются?

Редактировать: Насколько я знаю, JScript.NET использует те же API, что иC # .Так что this - это класс String, который я использую.Тем не менее, я думаю, что синтаксис такой же, как JavaScript.Может быть, кто-то может это подтвердить?

Edit2: Так что, если есть способ принудительного применения типа в JScript.NET, чтобы компилятор знал, какой тип используется, я думаю, что это будет ответом и для моего случая?JScript.NET не имеет такой же синтаксис, как C #.

1 Ответ

0 голосов
/ 18 декабря 2018

Я понял это, как только понял, что кодирую в JScript.NET, а не в JScript, что привело меня к куче полезных руководств.Один из них специально упомянул , как создавать типизированные массивы .

Оказывается, это было просто, как это:

var array : String[] = [" -"];
...