为了账号安全,请及时绑定邮箱和手机立即绑定

如何修复 Join(" ") 不向连接的字符串添加空格

如何修复 Join(" ") 不向连接的字符串添加空格

C#
慕田峪7331174 2023-04-16 09:55:54
当我尝试 Join() 一个包含单词的数组并尝试向其中添加一个空格时,空格似乎被遗漏了,知道为什么吗?一些背景信息,当我试图颠倒给我的一串单词时“hi my name is”应该变成“is name my hi”public static string ReverseWords(string text){    string[] words = text.Split(' ');    string s = "";    for (int i = words.Length - 1; i >= 0; i--)    {       s+= string.Join(" ", words [i]);    }    return s;}预期的结果是:“world!hello” 但它是:“world!hello”如您所见,我缺少世界之间的空间!和你好。有任何想法吗?
查看完整描述

4 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

Join一次只调用一个单词,使用接受参数数组的重载。加入单个项目将始终只返回该项目 - 没有其他东西可以加入它。

取而代之的是,只需以相反的顺序用所有单词调用它:

public static string ReverseWords(string text)

{

    string[] words = text.Split(' ');

    return string.Join(" ", words.Reverse());

}


查看完整回答
反对 回复 2023-04-16
?
隔江千里

TA贡献1906条经验 获得超10个赞

Join 将数组的元素与指定的分隔符组合在一起,但您要分别添加每个元素。所以没有添加空间。

string.Join(" ", words.Reverse());


查看完整回答
反对 回复 2023-04-16
?
不负相思意

TA贡献1777条经验 获得超10个赞

string.Join() 旨在处理字符串列表,在每个字符串之间放置分隔符 char。您一次只给它一个,因此没有分隔符。尝试这个:


public static string ReverseWords(string text)

{

    string[] words = text.Split(' ');


    return string.Join(" ", words.Reverse());

}


查看完整回答
反对 回复 2023-04-16
?
倚天杖

TA贡献1828条经验 获得超3个赞

对不起,我花了一段时间,我还是个初学者。但是 .Reverse() 函数不是它,因为它会将单词中的每个字符都倒转,这不是我的目标。


诀窍如下:


public static string ReverseWords(string text)

{  

string[] words = text.Split(' ');

string s = words[words.Length - 1];


for (int i = words.Length - 2; i >= 0; i--)

{

  s+= " " + words[i];

}

return s; 

}

}

当我将它复制到 VS 时,我一直尝试在在线环境中进行此练习,我可以通过慢慢调试来发现问题所在。


查看完整回答
反对 回复 2023-04-16
  • 4 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信