C# 连接字符串时,如何插入空格(“空格”)?

C# 连接字符串时,如何插入空格(“空格”)?,c#,java,C#,Java,这个问题是针对C Sharp的(Java可能是:) 当我想向控制台显示消息时,我想在每个“+”后面插入一个空格。我如何才能做到这一点,而不需要手动插入空白空间?你不能,真的-只需明确地将其放入: Console.WriteLine(foo + " " + bar); 或 我的意思是,您可以使用参数数组/varargs参数编写一个方法,例如(C#) 。。。但我个人不会。你可以用“+”替换“+”。大概是这样的: new String("Foo+Bar").replace("+", "+ ");

这个问题是针对C Sharp的(Java可能是:)


当我想向控制台显示消息时,我想在每个“+”后面插入一个空格。我如何才能做到这一点,而不需要手动插入空白空间?

你不能,真的-只需明确地将其放入:

Console.WriteLine(foo + " " + bar);

我的意思是,您可以使用参数数组/varargs参数编写一个方法,例如(C#)

。。。但我个人不会。你可以用“+”替换“+”。大概是这样的:

new String("Foo+Bar").replace("+", "+ ");

如果您正在寻找整理打印程序的方法,请尝试
String.Format
例如

Console.WriteLine(String.Format("{0} {1}", string1, string2));

或者在Java中,您可以使用
System.out
printf
变体:

System.out.printf("%s %s", foo, bar);

如果有多行要打印,请记住在结尾处输入“
\n
”[line feed]。

您是指字符串的串联还是仅仅一个“+”字符?在Java中,如果输出字符串中有许多参数要显示,则可以使用如下方法:
string.format(“第一个:%s,第二个:%s,第三个:%s等”,param1,param2,param3)
。在我看来,它比带“+”运算符的链式连接更具可读性。

试试这个

var text = string.Join(" ", new[] {foo, bar, other });
:

:

这些方法中的每一种都允许连接不同数量的字符串,并且每种方法都有不同的重载来传递字符串集合。

在C#中,您也可以使用字符串插值,也可以使用将字符串文字标识为插值字符串的
$
特殊字符

string text1 = "Hello";
string text2 = "World!";
Console.WriteLine($"{text1}, {text2}");
输出

Hello, World!
来自文档

与字符串复合格式化功能相比,字符串插值提供了一种更可读、更方便的语法来创建格式化字符串

// Composite formatting:
Console.WriteLine("Hello, {0}! Today is {1}, it's {2:HH:mm} now.", name, date.DayOfWeek, date);

// String interpolation:
Console.WriteLine($"Hello, {name}! Today is {date.DayOfWeek}, it's {date:HH:mm} now.");
两个调用都产生相同的输出,类似于:

Hello, Mark! Today is Wednesday, it's 19:40 now.

您如何显示消息?一些代码和一个预期输出的示例将非常有用。我认为“+”应该是代码中的加号。当然,我可能错了。如果是的话,那么你的答案显然是正确的。。但问题本身有点不清楚。不需要在代码中显式创建数组。join方法采用params string[]参数,该参数将告诉编译器该字符串。join(“、foo、bar、other);很好。更容易阅读:)
string text1 = "Hello";
string text2 = "World!";
Console.WriteLine($"{text1}, {text2}");
Hello, World!
// Composite formatting:
Console.WriteLine("Hello, {0}! Today is {1}, it's {2:HH:mm} now.", name, date.DayOfWeek, date);

// String interpolation:
Console.WriteLine($"Hello, {name}! Today is {date.DayOfWeek}, it's {date:HH:mm} now.");
Hello, Mark! Today is Wednesday, it's 19:40 now.