2016-10-01 49 views
-4

我想有一個「的ToString() - 方法」返回客戶C#:如何擁有一個ToString方法被調用它的主要方法在控制檯打印出來

一樣的全名

//Console.WriteLine("Your name is「+ 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如何解決此問題,將不勝感激。試圖在Main中放入不同的東西,但永遠無法編譯它。

+3

'Console.WriteLine(fName + lName);'永遠不會到達,因爲'return'語句出口從方法。 –

+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: 在Customer類中書寫打印方法,並通過ctor調用它,如「1:」

相關問題