2010-05-09 3 views
4

В принципе, я хочу иметь возможность использовать string.Split(char[]) без фактического определения массива символов как отдельной переменной. Я знаю на других языках, которые вы могли бы сделать, например, string.split([' ', '\n']); или что-то в этом роде. Как мне это сделать на C#?C# Объявление неявного массива

ответ

1

Это не красиво, но: string.Split(new char[] { ' ', '\n' });

+1

Обратите внимание, что в C# 3 вы можете сделать это немного красивее, выставив символ «char». Компилятор разработает, что новый [] {x, y, z} означает «новый массив наилучшего общего типа x, y и z». –

+0

Удивительно, приятно знать. Я предполагаю, что это возможно из-за работы вывода типа для LINQ. –

1

вы можете использовать эту перегрузку:

public String [] Split(params char [] separator) 

так:

yourstring.Split(' ', '\n') 
8

Вот действительно хороший способ сделать это:

string[] s = myString.Split("abcdef".ToCharArray()); 

Вышеупомянутое e квивалент к:

string[] s = myString.Split('a', 'b', 'c', 'd', 'e', 'f'); 
Смежные вопросы