Не могу разобраться, как перевернуть строку в C#

Нужно, чтобы слова не меняли буквы местами, но сами слова должны поменяться местами, например: было(мама мыла раму) а стало(раму мыла мама), не могу придумать какое действие сделать. пытался s+=mas[i], но вообще не получается.

string s = A_TB.Text;
        char[] sep = { ' ' };
        string[] mas = s.Split(sep, 
                                     StringSplitOptions.RemoveEmptyEntries);
        for (int j=0;j<mas.Length;j++)
        {
            for (int i = mas.Length; i >= 0; i--)

        }
        B_TB.Clear();
        foreach (string m in mas)
            B_TB.AppendText(m + ' ');

Ответы (2 шт):

Автор решения: Igor
for (int i = 0, j = mas.Length - 1; i < j; i++, j--)
{
  string temp = mas[i];
  mas[i] = mas[j];
  mas[j] = temp;
} 
→ Ссылка
Автор решения: Yaroslav

Сам метод:

public static class Exp
{
    public static string ReverseOne(
        this string str, 
        char[] separators, 
        StringSplitOptions options)
    {
        var temp = str.Split(separators, options);
        var reverse = temp.Reverse().ToList();
        var sb = new StringBuilder();

        reverse.ForEach(x =>
        {
            sb.Append(x);
            sb.Append(separators);
        });

        return sb.ToString().Trim(separators);
    }

    public static string ReverseTwo(
        this string str,
        char[] separators,
        StringSplitOptions options)
    {
        var temp = str.Split(separators, options);
        var reverse = temp.Reverse();
        var separator = separators[0].ToString();

        return string.Join(separator, reverse);
    }
}

Пример использования:

str.ReverseOne(new char[1] { ' ' }, StringSplitOptions.RemoveEmptyEntries)    
str.ReverseTwo(new char[1] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
→ Ссылка