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

5 回答 5

1

这里的问题是player在类初始化时计算的。所以基本上你正在结合string.Emptyand string.EmptyPlayer每次使用前不计算。

所以你可以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));
于 2013-09-11T01:49:30.960 回答
0

您阅读namegender在获得它们的值后从未将它们组合起来,因此player仍然是一个空字符串。

而是这样做:

player = gender + name;
Console.WriteLine("Welcome "+player);
于 2013-09-11T01:45:15.703 回答
0
Console.ReadLine();
player = gender+name;
Console.WriteLine("Welcome"+player);

这会将字符串设置为它们被读取的内容。您还需要一个 if 语句来将 fe/male 更改为 mr/s。

于 2013-09-11T01:50:26.680 回答
0

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

String Player()
{
     return gender + name;
}

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

于 2013-09-11T03:26:12.227 回答
0

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

于 2015-11-14T06:16:40.533 回答