Любой способ объявить массив в строке?

Используйте модификаторы ^ и $ для обозначения того, где шаблон регулярного выражения находится относительно начала и конца строки:

Regex.Match("Red October", "^Red October$"); // pass
Regex.Match("The Hunt for Red October", "^Red October$"); // fail
562
задан Ben 4 February 2014 в 19:49
поделиться

3 ответа

m(new String[]{"blah", "hey", "yo"});
901
ответ дан 22 November 2019 в 22:07
поделиться

Хочу добавить, что синтаксис инициализации массива очень лаконичный и гибкий. Я использую его МНОГО, чтобы извлечь данные из моего кода и поместить их в более удобное место.

В качестве примера я часто создавал такие меню:

Menu menu=initMenus(menuHandler, new String[]{"File", "+Save", "+Load", "Edit", "+Copy", ...});

Это позволило бы мне написать код для создания меню система. Знака «+» достаточно, чтобы указать ему разместить этот элемент под предыдущим элементом.

Я мог бы привязать его к классу menuHandler либо по соглашению об именах методов, назвав мои методы чем-то вроде «menuFile, menuFileSave, menuFileLoad, .. . "и привязывая их рефлексивно (есть и другие альтернативы).

Этот синтаксис позволяет УДИВИТЕЛЬНО краткое определение меню и чрезвычайно многоразовый метод" initMenus ". (Тем не менее, я не стал использовать его повторно, потому что он

4
ответ дан 22 November 2019 в 22:07
поделиться

Дреймон прав. Вы также можете объявить m как принимающее varargs :

void m(String... strs) {
    // strs is seen as a normal String[] inside the method
}

m("blah", "hey", "yo"); // no [] or {} needed; each string is a separate arg here
109
ответ дан 22 November 2019 в 22:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: