2016-10-01 4 views
-4

でそれを呼び出すことで、コンソールにプリントアウトすることがToStringメソッドを持っている私が持ってしようとしている「ToStringメソッド() - メソッド」顧客のフルネームを返すC#の:どのようにmainメソッド

のように

//Console.WriteLine("あなたの名前は "+ fName + lName");

が既にありますが、ToStringにあります。

class Program 
{ 
    static void Main(string[] args) 
    { 
     var instance = new Customer(); 
    } 
} 

-

class Customer 
{ 
    public string fName, lName; 

    public Customer() 
    { 
     Console.WriteLine("Please enter your first name"); 
     fName = Console.ReadLine(); 
     Console.WriteLine("Please enter your last name"); 
     lName = Console.ReadLine(); 
     //Console.WriteLine("Your name is " + fName + lName); 
    } 

    public override string ToString() 
    { 
     return fName + lName; 
     Console.WriteLine(fName + lName); 
    } 
} 

これを解決する方法OMすべてのフィードバックをいただければ幸いです。メインに別のものを入れようとしましたが、コンパイルすることは決してできませんでした。

+3

'return'文が終了するため、Console.WriteLine(fName + lName);には決して届きませんメソッドから。 –

+0

クラスデザインがうまくいきません。コンストラクタの 'Console.ReadLine'および' Console.WriteLine'呼び出しをメインまたは他のどこかに移動することから始めます。次に、そこからクラスの変数を入力し、コードの最後に 'ToString()'を呼び出します。私はあなたがもっと魅力的なやり方でやりたいことをかなりカバーしていると思います。 – 0xDECAFBAD

答えて

0

私はそのデザインに同意しますありえない最高の、それは私には本当に明確ではないが、私は試してみて、バリエーション 1のカップルをお届けします。

class Customer 
{ 
    public string fName, lName; 
    public Customer() 
    { 
     Console.WriteLine("Please enter your first name"); 
     fName = Console.ReadLine(); 
     Console.WriteLine("Please enter your last name"); 
     lName = Console.ReadLine(); 
     Console.WriteLine(ToString()); 
    } 

    public override string ToString() 
    { 
     return fName + lName; 
    } 
} 

2:

class Program 
{ 
    static void Main(string[] args) 
    { 
     var instance = new Customer(); 
     Console.WriteLine(instance.ToString()); 
    } 
} 
//in Customer class 
public override string ToString() 
{ 
    return fName + lName; 
} 

3: "1:"のようにCustomerクラスで印刷メソッドを記述し、 "1:"のように呼び出します。

関連する問題