Как на C# “перевернуть” строку: было - 123, стало - 321?

157
24 июня 2019, 21:30
Как на C# "перевернуть" строку: было - 123, стало - 321?
Answer 1

Как-то так:

using System;
static class StringHelper
{
    public static string ReverseString(string s)
    {
    char[] arr = s.ToCharArray();
    Array.Reverse(arr);
    return new string(arr);
    }
}
Answer 2
  • new string(s.Reverse().ToArray());

  • Все методы, которые вам предложили (включая и мой), не подходят для серьезного продакшн кода, поскольку, например, не учитывают расстановку Acute Accents, которые при реверсе окажутся перед неправильным знаком, а также будут реверсить суррогатные пары в UTF-16, фактически, "ломая" корректную юникодную строку.

  • Подробнее насчет этих подводных камней - Jon Skeet, C# in Depth - 1.7.2.

Answer 3
  private void button5_Click(object sender, EventArgs e)
        {
            int n = textBox5.Text.Length;
            char[] mas = new char[n];
            for (int i=0; i<n; i++)
            {
                mas[i] = textBox5.Text[i];
            }
            for (int i = n; i != 0; i--)
            {
                label4.Text += mas[i-1];
            }
        }

Данный код позволит перевернуть любую строку.

READ ALSO
Работа с строковым типом данных

Работа с строковым типом данных

Помогите, пожалуйста с задачей: Дана строка символовСформировать новую строку, в которую включить все символы исходной строки, стоящие на четных...

129
Как создать окно/страницу WPF с обобщением?

Как создать окно/страницу WPF с обобщением?

Мне нужно создать окно или страницу, которая работала бы с указанным типом

121
yii2 и обработка полей форміы

yii2 и обработка полей форміы

столкнулся с проблемой, с yii2 никогда не работал но вот пришлосьСуть в чем на сайте есть формы обратной связи, нужно поставить защиту от спамботов,...

109