ArrayList to string с пробелами

92
06 февраля 2021, 03:40

Как сделать что бы после каждого слова был пробел но не после последнего? и еще пользуясь случаям хочу спросить касательно строк

char[] word = item.ToCharArray();
string s = new string(word);

почему нельзя написать например string s = word.ToString();

public static class Kata
{
  public static string ReverseWords(string str)
  {
            string[] words = str.Split(new char[] { ' ' });
            ArrayList arr = new ArrayList();

            foreach (var item in words)
            {
                char[] word = item.ToCharArray();
                Array.Reverse(word);
                string s = new string(word);
                arr.Add(s);
            }
            string ss = "";
            foreach(var item in arr)
            {
            ss += item + " ";
            }
            return ss;
  }
}
Answer 1

Вот так:

string[] sarr = (string[])arr.ToArray(typeof(string));
string res = String.Join(" ", sarr);
Console.WriteLine(res);
Answer 2

В принципе можно так:

var arr = new ArrayList();
string.Join(" ", arr.Cast<string>());

Но гораздо лучше отказаться от устаревших коллекций и сделать:

var arr = new List<string>();
string.Join(" ", arr);
Answer 3

Уже сам сделал

public static class Kata
{
  public static string ReverseWords(string str)
  {
            string[] words = str.Split(new char[] { ' ' });
            //not arraylist
            var arr = new List<string>();

            foreach (var item in words)
            {
                char[] word = item.ToCharArray();
                Array.Reverse(word);
                //not string s = word.Tostring();idk why
                string s = new string(word);
                arr.Add(s);
            }
            // string.Join very usefull
            string ss = string.Join<string>(" ", arr);
            return ss;
  }
}
Answer 4

Можно так:

using System;
using System.Linq;
public class Program {
    public static void Main() {
        string str = "lorem ipsum dolor sit a met";
        string[] words = str.Split(new char[]{' '});
        string[] revWords = words.Select(x => string.Join("", x.ToCharArray().Reverse())).ToArray();
        string reversedString = string.Join(" ", revWords);
        Console.WriteLine(reversedString);
        // "merol muspi rolod tis a tem"
    }
}

"Поиграться" можно здесь.

READ ALSO
Mysql помощь при удалении запеси

Mysql помощь при удалении запеси

Как исправить ошибку, чтобы удаление проходило?

105
Передать значение поля в переменную по id

Передать значение поля в переменную по id

Нужно передать в переменную $Summm1 количество товаров данного заказа ('quantity'),

107
Проблема обновления PHP из репозитория Webtatic

Проблема обновления PHP из репозитория Webtatic

Имеется сервер на CentOS 6, где хостится сайт муниципального учрежденияНа этом сервере нужно обновить PHP (с версии 5

85
Coinpayments и yii2 (оплата на сайте)

Coinpayments и yii2 (оплата на сайте)

Мне нужна оплата через сайт coinpaymentЯ сделал контроллер на формирование платежа

117