Как преобразовать IEnumerable <символ> для строкового представления [], таким образом, я могу использовать его со Строкой. Соединение?

Вы можете использовать отложенное связывание GWT с помощью замены и создать две реализации вашего класса, в которых вы используете регулярное выражение.

Например, давайте предположим, что ваш класс называется Parser и содержит код для всех веб-браузеров, кроме IE7. Затем вы можете расширить Parser и создать ParserIE7 класс для IE7. Затем в конфигурационном файле вашего модуля GWT вы можете добавить:


  



  
  

Затем, вызвав

Parser parser = GWT.create(Parser.class);

, вы должны иметь правильную (зависящую от веб-браузера) реализацию Parser в parser переменная.

Вы можете найти более подробную информацию здесь .

7
задан Edward Tanguay 5 November 2009 в 14:50
поделиться

5 ответов

string[] foo = nonLetters.Select(c => c.ToString()).ToArray();
12
ответ дан 6 December 2019 в 07:51
поделиться

Если вы на самом деле не заботитесь об использовании String.Join, а хотите только результат, использование новой строки (char []) является самым простым изменением:

string message = "This is a test message.";
var nonLetters = message.Where(x => !Char.IsLetter(x));
Console.WriteLine("There are {0} non-characters in \"{1}\" and they are: {2}",
     nonLetters.Count(),
     message,
     new string(nonLetters.ToArray()));

но для вашего примера это более эффективно, если вы сделаете это следующим образом:

string message = "This is a test message.";
string nonLetters = new string(message.Where(x => !Char.IsLetter(x)).ToArray());
Console.WriteLine("There are {0} non-characters in \"{1}\" and they are: {2}",
     nonLetters.Length,
     message,
     nonLetters);

Причина, по которой это более эффективно, заключается в том, что другой пример повторяет ваш итератор where дважды: один раз для вызова Count () и в другой раз для вызова ToArray ().

5
ответ дан 6 December 2019 в 07:51
поделиться

Думаю, вы хотите:

string message = "This is a test message.";

var nonLetters = message.Where(x => !Char.IsLetter(x));

Console.WriteLine("There are {0} non-characters in \"{1}\" and they are: {2}", 
    nonLetters.Count(), 
    message,
    String.Join(", ", nonLetters.Select(x => x.ToString()).ToArray())
    );

All I ' Все сделано, это вызов Select (x => x.ToString ()) для nonLetters в вызове String.Join. Кажется, работает.

3
ответ дан 6 December 2019 в 07:51
поделиться
string result = new string(nonLetters.ToArray()); //convert to a string

Я только что понял, что вам нужна строка [], а не строка:

string[] result = nonLetters.Select(c => new string(new[] { c })).ToArray();

Противно. Но работает ...

2
ответ дан 6 December 2019 в 07:51
поделиться

Просто выберите String вместо Char для каждой небуквы.

String() nonLetters = message.Where(x => !Char.IsLetter(x))
                             .Select(x => x.ToString())
                             .ToArray();
1
ответ дан 6 December 2019 в 07:51
поделиться
Другие вопросы по тегам:

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