C# 将字符串数组与remove-and-split函数结合起来,只生成一行代码?

C# 将字符串数组与remove-and-split函数结合起来,只生成一行代码?,c#,arrays,C#,Arrays,如何将这段代码缩短为一行代码 string[] result1 = content.Split('|'); string result2 = result1[1].Remove(0, 4); 真的很抱歉,但我现在不知所措。请将这两行连接起来:- string result2 = content.Split('|')[1].Remove(0, 4); string result2 = content.Split('|')[1].Remove(0, 4); 尽管正如Jon Skeet在评论中提

如何将这段代码缩短为一行代码

string[] result1 = content.Split('|');
string result2 = result1[1].Remove(0, 4);

真的很抱歉,但我现在不知所措。

请将这两行连接起来:-

string result2 = content.Split('|')[1].Remove(0, 4);
string result2 = content.Split('|')[1].Remove(0, 4);

尽管正如Jon Skeet在评论中提到的,关于你为什么要这样做的问题看起来非常合乎逻辑?因为强烈建议编写可读代码。

请将这两行连接起来,如下所示:-

string result2 = content.Split('|')[1].Remove(0, 4);
string result2 = content.Split('|')[1].Remove(0, 4);

尽管正如Jon Skeet在评论中提到的,关于你为什么要这样做的问题看起来非常合乎逻辑?由于强烈建议编写可读代码。

请尝试其他答案

string result2 = content.Split('|')[1].Remove(0, 4);
 public static class MyExtensions
   {
     public static string SplitRemove(this String str,int arrayIndex,int charToRemove)
     {
        return str.Split(new char[] { '|' },
                         StringSplitOptions.RemoveEmptyEntries)   [arrayIndex].Remove(0,charToRemove);
    }
}   

不同的答案试试看

 public static class MyExtensions
   {
     public static string SplitRemove(this String str,int arrayIndex,int charToRemove)
     {
        return str.Split(new char[] { '|' },
                         StringSplitOptions.RemoveEmptyEntries)   [arrayIndex].Remove(0,charToRemove);
    }
}   
如果您需要在修改第一项的情况下完成数组返回

如果您需要在修改第一项的情况下完成数组返回


只需连接两行:string result2=content.Split'|'[1]。Remove0,4;为什么只想使用一行代码?你还需要这两个变量吗?这里肯定需要更多的上下文。将多个逻辑步骤塞进一行代码中会使代码更难阅读、调试和维护。它不会运行得更快,而且它是Steve所说的业余爱好者的标志,您应该补充一点,在这种特定情况下,可靠性可能更低:string[]result1=content.Split'|';字符串result2=;ifresult1.Length>1 result2=result1[1]。移除0,4;总是很有效。如果|未出现在内容中,您要求的摘要版本将崩溃。在某些情况下,缩短代码的长度可能会很好,但并不总是如此。我知道,但我陷入了我的代码中,因为我坐在这里编程了几个小时。不记得怎么解决了。将两条线连接在一起可能是我所需要的,其他信息是不必要的。因此,我假设组合这两行代码不会给我带来不便:-p只需连接两行:string result2=content.Split'|'[1]。Remove0,4;为什么只想使用一行代码?你还需要这两个变量吗?这里肯定需要更多的上下文。将多个逻辑步骤塞进一行代码中会使代码更难阅读、调试和维护。它不会运行得更快,而且它是Steve所说的业余爱好者的标志,您应该补充一点,在这种特定情况下,可靠性可能更低:string[]result1=content.Split'|';字符串result2=;ifresult1.Length>1 result2=result1[1]。移除0,4;总是很有效。如果|未出现在内容中,您要求的摘要版本将崩溃。在某些情况下,缩短代码的长度可能会很好,但并不总是如此。我知道,但我陷入了我的代码中,因为我坐在这里编程了几个小时。不记得怎么解决了。将两条线连接在一起可能是我所需要的,其他信息是不必要的。所以,我假设把这两行代码结合起来不会给我带来不便:-p这是一个关于C的问题。这是一个关于C的问题。好的,你写一次,每当你调用它,你就有一行代码。好的,你写一次,每当你调用它,你就有一行代码。我知道,这不是我真正想要的,但我更喜欢这个表达。这使我的阵列保持原始状态,只需稍作修改。我相应地将值从0调整为1,因为它是我需要修改的第二个占位符。感谢you@MrMAG,不知怎的,我读取了var result而不是string result,并且我假设您需要修改数组。这就是我发布它的原因。但是考虑一下乔恩Sketa评论,单条线不能提高可读性,这不是我所要求的,但我更喜欢这个表达。这使我的阵列保持原始状态,只需稍作修改。我相应地将值从0调整为1,因为它是我需要修改的第二个占位符。感谢you@MrMAG,不知怎的,我读取了var result而不是string result,并且我假设您需要修改数组。这就是我发布它的原因。但是考虑一下乔恩Sketa评论,单条线不能提高可读性。