如何在一个字符串中组合两个不同的字符串?
我检查了大多数问题可能包含我的解决方案,但我找不到任何问题。或者,也许我不明白。所以,这是我的问题:如何在一个字符串中组合两个不同的字符串?
我想将两个字符串结合在一起并单独使用它。
我的字符串:
static string name = ""; (for example: John or Jane)
static string gender = ""; (for example: Mr. or Mrs.)
,我想这两个在一个像这样的组合:
static string player = gender+name;
Console.writeline("Hello "+player);
,我想看到它在我的控制台是这样的:
Hello Mr.John or Hello Mrs.Jane
我不想提及console.readline部分。将会有我将输入姓名和性别的条目。 感谢
编辑:
这是我做的(对不起,这要花很长时间):
static string name = "";
static string gender = "";
static string player = name + gender;
static void Main(string[] args)
{
Console.WriteLine("Welcome. What is your name?");
name = Console.ReadLine();
Console.WriteLine("Sex?\n-Male\n-Female");
gender = Console.ReadLine();
Console.WriteLine("Press Enter to continue");
Console.ReadLine();
Console.WriteLine("Welcome"+player);
Console.ReadLine();
}
这些结果,如 “欢迎__”
问题是玩家应该是一个函数,而不是一个字符串。
String Player()
{
return gender + name;
}
这必须在您的主要功能之外。
你读name
和gender
但您从未将它们组合到一起,因此player
仍为空字符串。
做到这一点,而不是:
player = gender + name;
Console.WriteLine("Welcome "+player);
的这里的问题是,player
是在类的初始化计算。所以基本上你要结合string.Empty
和string.Empty
。每次使用前不计算Player
。
因此,在使用它之前,您可以只使用player = name + gender;
,但一个好的做法是使用限制变量的变量。由于您在Main中使用了名称和性别,因此请使用局部变量。
static void Main(string[] args)
{
string name;
string gender;
Console.WriteLine("Welcome. What is your name?");
name = Console.ReadLine();
Console.WriteLine("Sex?\n-Male\n-Female");
gender = Console.ReadLine();
Console.WriteLine("Press Enter to continue");
Console.ReadLine();
Console.WriteLine("Welcome " + gender + name);
Console.ReadLine();
}
如果你愿意,你也可以做
string player = gender + name;
Console.WriteLine("Welcome " + player);
,但我认为意图是没有临时变量不够清晰。如果你需要更复杂的格式,你也可以string.Format
,它比一堆+
运营商更干净。
Console.WriteLine(string.Format("Welcome, {0} {1}!", gender, name));
Console.ReadLine();
player = gender+name;
Console.WriteLine("Welcome"+player);
这将设置字符串来他们一直在读什么作为。 您还需要一个if语句将fe/male更改为mr/s。
如果你想合并没有分隔符的字符串,你可以使用String.Concat(string firstString,string secondString)
。你可以使用String.Join(string separator, string[] stringsToBeJoined)
。第一个参数是合并单个字符串中字符串之间的分隔符,第二个参数是将要合并的字符串数组。
我没有看到问题... – UIlrvnd
你有没有试过这个? –
你已经做到了 - static string player = gender + name; – Lev