2013-09-11 127 views
1

我检查了大多数问题可能包含我的解决方案,但我找不到任何问题。或者,也许我不明白。所以,这是我的问题:如何在一个字符串中组合两个不同的字符串?

我想将两个字符串结合在一起并单独使用它。

我的字符串:

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(); 
    } 

这些结果,如 “欢迎__

+4

我没有看到问题... – UIlrvnd

+0

你有没有试过这个? –

+0

你已经做到了 - static string player = gender + name; – Lev

回答

0

问题是玩家应该是一个函数,而不是一个字符串。

String Player() 
{ 
    return gender + name; 
} 

这必须在您的主要功能之外。

0

你读namegender但您从未将它们组合到一起,因此player仍为空字符串。

做到这一点,而不是:

player = gender + name; 
Console.WriteLine("Welcome "+player); 
1

的这里的问题是,player是在类的初始化计算。所以基本上你要结合string.Emptystring.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)); 
0
Console.ReadLine(); 
player = gender+name; 
Console.WriteLine("Welcome"+player); 

这将设置字符串来他们一直在读什么作为。 您还需要一个if语句将fe/male更改为mr/s。

0

如果你想合并没有分隔符的字符串,你可以使用String.Concat(string firstString,string secondString)。你可以使用String.Join(string separator, string[] stringsToBeJoined)。第一个参数是合并单个字符串中字符串之间的分隔符,第二个参数是将要合并的字符串数组。

相关问题