C# 从C中的字符串中删除中间子字符串#

C# 从C中的字符串中删除中间子字符串#,c#,C#,我在练习C# 我想从char数组中删除中间的子字符串,并将其添加到fornt中 示例1 char array=“Fbh3dfbn8” 子字符串3到7在开头被删除和添加: char array=“3dfbhbn8” 示例2 字符数组=E5SS6SkGDE 子字符串4到7在开头被删除和添加: 字符数组=S6SkE5SGDE 基本上我想把字符串分成3部分,其中第1和第3个子字符串的长度相同 if (charArray.ToString().Length % 2 != 0 && char

我在练习C#

我想从char数组中删除中间的子字符串,并将其添加到fornt中

示例1

char array=“Fbh3dfbn8”

子字符串3到7在开头被删除和添加:

char array=“3dfbhbn8”

示例2

字符数组=E5SS6SkGDE

子字符串4到7在开头被删除和添加:

字符数组=S6SkE5SGDE

基本上我想把字符串分成3部分,其中第1和第3个子字符串的长度相同

if (charArray.ToString().Length % 2 != 0 && charArray.ToString().Length >= 3)
{
    string subStringCharArray = charArray.ToString().Substring(charArray.ToString().Length / 2 - 1, 3);
    charArray.ToString().IndexOf(subStringCharArray);
    string changedString = subStringCharArray + charArray.ToString();

} 
这是我的密码。在点string
subStringCharArray
if
条件下,我总是得到
m.C作为输出。但我的Char数组中没有
m.C`

有谁能帮我或指导我做这个方法吗

感谢使用
新字符串(charArray)
代替
charArray.ToString()

charArray.ToString()
将不是“abc”字符串。对于任何可能的数组,它都将是“System.Char[]”

不会更改数组或字符串中的任何内容。它只返回子字符串编号的索引。它不会修改任何内容

您可以尝试以下方法:

            Char[] charArray = new Char[] { '1', '2', '3', '4', '5', '6', '7' };
            String charArrayAsString = new String(charArray);

            String result = null;

            if (((charArrayAsString.Length % 2) != 0) &&
                 (charArrayAsString.Length >= 3))
            {
                Int32 middleBegins = charArrayAsString.Length / 2 - 1;
                Int32 middleLen = 3;

                result = charArrayAsString.Substring(middleBegins, middleLen) +
                    charArrayAsString.Substring(0, middleBegins) +
                    charArrayAsString.Substring(middleBegins + middleLen);                    
            }

            Console.WriteLine(result);
除以3:

string str1 = "Fbh3dfbn8";
int partLength = str1.Length / 3;
string result = string.Format("{0}{1}{2}", 
    str1.Substring(partLength, str1.Length - (2 * partLength)),
    str1.Remove(partLength),
    str1.Substring(str1.Length - partLength));
如果您坚持使用
char[]
,则通过构造函数从
char[]
获取
字符串或通过
string返回
char[]
非常容易。ToCharray

尝试以下方法:

string input = "E5SS6SkGDE";

char[] array = input.ToCharArray();

var result =
    array.Skip(3).Take(4)
        .Concat(array.Take(3))
        .Concat(array.Skip(7))
        .ToArray();

var output = new string(result);
我得到的结果是
S6SkE5SGDE

string str1 = "Fbh3dfbn8";
int partLength = str1.Length / 3;
string result = string.Format("{0}{1}{2}", 
    str1.Substring(partLength, str1.Length - (2 * partLength)),
    str1.Remove(partLength),
    str1.Substring(str1.Length - partLength));
string input = "E5SS6SkGDE";

char[] array = input.ToCharArray();

var result =
    array.Skip(3).Take(4)
        .Concat(array.Take(3))
        .Concat(array.Skip(7))
        .ToArray();

var output = new string(result);