有什么办法可以将第一个字母结尾吗?

时间:2020-01-13 07:28:19

标签: c# .net string

我正在尝试将单词的第一个字母移动到C#上的结尾。 用户将输入一个单词。

单词的第一个字母将到达单词的末尾。

示例:

输入hello

输出: elloh

4 个答案:

答案 0 :(得分:2)

那呢:

var str = "hello";
var result = string.Join("", str.Skip(1)) + str[0];

但是,您首先需要在using指令中添加以下内容:

using System.Linq;

答案 1 :(得分:1)

您可以在Substring的帮助下尝试简单的string操作:

 input.Substring(0, 1) - to get the 1st letter (or just input[0])
 input.Substring(1)    - to get all letters except 1st - all letters starting from 1 

代码:

 string input = "hello";

 // To be on the safe side, let's check if user input is an empty string
 string output = !string.IsNullOrEmpty(input) 
   ? input.Substring(1) + input.Substring(0, 1) // or input.Substring(1) + input[0]
   : input; // or throw exception (C# 7.0+)

Linq 版本(仅供参考);让我们使用???.运算符,以防我们得到null或空("")字符串:

  using System.Linq;

  ... 

  string output = string.Concat(input?.Skip(1) ?? "") + input?.FirstOrDefault();

答案 2 :(得分:0)

最简单的方法:

string output = input.Substring(1) + input[0];

答案 3 :(得分:0)

public static string MoveChar(this string text, int oldIndex, int newIndex)
{
    try
    {
        var chars = new List<Char>( text.ToCharArray(0, text.Length));
        var value = chars[oldIndex];
        chars.RemoveAt(oldIndex);
        chars.Insert(newIndex,value);
        return new string(chars.ToArray());
    }
    catch (Exception e)
    {
        throw e;
    }
}