1

ほとんどの質問に解決策が含まれている可能性があることを確認しましたが、何も見つかりませんでした。あるいはわからなかったのかもしれません。だから、ここに私の質問があります:

2本の紐を1本にまとめて、1本で使い続けたい。

私の弦:

    static string name = ""; (for example: John or Jane)
    static string gender = ""; (for example: Mr. or Mrs.)

そして、これら2つを次のように1つに結合したいと思います:

    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.Emptyています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

問題は、プレーヤーが文字列ではなく関数であることです。

String Player()
{
     return gender + name;
}

これは、メイン関数の外にある必要があります。

于 2013-09-11T03:26:12.227 に答える
0

String.Concat(string firstString,string secondString)区切り文字なしで文字列をマージする場合は、を使用できます。そして、あなたは使用することができますString.Join(string separator, string[] stringsToBeJoined)。最初のパラメーターは、マージされた単一の文字列内の文字列間の区切り文字であり、2 番目のパラメーターは、マージされる文字列の配列です。

于 2015-11-14T06:16:40.533 に答える
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);

これにより、文字列が読み取られたものに設定されます。また、fe/male を mr/s に変更する if ステートメントも必要です。

于 2013-09-11T01:50:26.680 に答える