簡體   English   中英

如何在一個字符串中組合兩個不同的字符串?

[英]How to combine two different strings in one string?

我已經檢查了大多數問題,其中可能包含我的解決方案,但找不到任何問題。 也許我聽不懂。 所以,這是我的問題:

我想將兩個字符串合並為一個,並繼續使用它。

我的琴弦:

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

這些結果類似“歡迎使用__

這里的問題是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);

但是我認為沒有temp變量,意圖很明確。 如果需要更復雜的格式,還可以使用string.Format ,它比一堆+運算符更干凈。

 Console.WriteLine(string.Format("Welcome, {0} {1}!", gender, name));

您讀取namegender但在獲得其值之后再也不會將它們組合在一起,因此player仍然是一個空字符串。

而是這樣做:

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

這會將字符串設置為已讀取的字符串。 您還需要一個if語句將fe / male更改為mr / s。

問題在於播放器應該是一個函數,而不是字符串。

String Player()
{
     return gender + name;
}

這必須在您的主要職能范圍之外。

如果要合並沒有定界符的字符串,則可以使用String.Concat(string firstString,string secondString) 而且您可以使用String.Join(string separator, string[] stringsToBeJoined) 第一個參數是合並的單個字符串中字符串之間的分隔符,第二個參數是將要合並的字符串數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM