【问题标题】:Return result of concatenating multiple strings [closed]连接多个字符串的返回结果[关闭]
【发布时间】:2023-04-09 00:55:01
【问题描述】:

我想创建一个程序,用分隔符删除每个换行符,然后在文本前插入prefix,在文本后插入suffix,所以这里是函数:

private string replacer(string text,string delimiter,string prefix,string suffix)
    {
        string replaced = text.Replace(System.Environment.NewLine, delimiter);
        string concat = String.Concat(prefix, delimiter, suffix);
        return replaced;

为什么prefixsuffix 没有插入到文本中?

【问题讨论】:

  • 因为你返回的结果..不是连续的..

标签: c# string concat


【解决方案1】:

用分隔符删除每个换行符,然后在前面插入前缀 文本,并在文本后插入后缀,所以这里是函数

除了返回不正确的变量之外,您没有正确连接值。你需要:

string concat = String.Concat(prefix, replaced, suffix);
                                     //^^^^^^ Here replaced instead of delimeter

//and then:
return concat;

【讨论】:

  • 这是正确答案
【解决方案2】:

您正在返回replaced。你应该返回concat

private string replacer(string text,string delimiter,string prefix,string suffix)
{
    string replaced = text.Replace(System.Environment.NewLine, delimiter);
    string concat = String.Concat(prefix, delimiter, suffix);
    return concat ;

您也可以使用string.Format("{0} {1} {2}",prefix, delimter, suffix); 调整您之间的间距。

根据您的问题,replaced 没有做任何事情。应该是这样的:

private string replacer(string text,string delimiter,string prefix,string suffix)
{
    string replaced = text.Replace(System.Environment.NewLine, delimiter);
    string concat = String.Concat(prefix, replaced, suffix);
    return concat ;

这里替换将是一个新行。不确定你是想这样做还是只使用分隔符。

【讨论】:

  • 另外,无需显式使用String.Concat - 一个简单的prefix + replaced + suffix 也可以做到。
  • 这里的替换变量的作用我没看懂,代码只是把前缀后缀、分隔符连接起来,忽略了替换
猜你喜欢
  • 1970-01-01
  • 2020-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-04
  • 1970-01-01
  • 2021-11-06
相关资源
最近更新 更多