2009-01-30 74 views
3

using System; 
using System.Collections.Generic; 
using System.Text; 

namespace ConsoleApplication3Generics 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      ScheduleSelectedItems sitems = new ScheduleSelectedItems("Yusuf"); 
      ScheduleSelectedItemsList slist = new ScheduleSelectedItemsList(); 
      slist.Items.Add(sitems); 
      Console.Write(slist.Items[0].ToString()); 
      Console.ReadKey(); 
     } 
    } 
    public class ScheduleSelectedItems 
    { 
     private string Ad; 

     public ScheduleSelectedItems(string ad) 
     { 
      Ad = ad; 
     } 
    } 

    public class ScheduleSelectedItemsList 
    { 
     public List Items; 

     public ScheduleSelectedItemsList() 
     { 
      Items = new List(); 
     } 
    } 
}

如何在我的控制檯上添加「yusuf」?ToString()不返回預期的字符串

回答

15
public class ScheduleSelectedItems 
    { 
     private string Ad; 

     public ScheduleSelectedItems(string ad) 
     { 
      Ad = ad; 
     } 

     public override string ToString() 
     { 
      return this.Ad; 
     } 
    } 
+0

非常感謝BFree !!!你的助手真的幫助我。我可以問一些問題嗎?我怎麼能做到這一點我的先生覆蓋方法? İ需要您的幫助或技巧:)再次登錄... – Penguen 2009-01-30 15:29:26

2

您需要重寫ScheduleSelectedItems的toString()方法以返回'Ad'。

3

添加到您的ScheduleSelectedItems類:

public override string ToString() { 
     return Ad; 
    } 

告訴系統這樣的對象應該如何格式化。

5

什麼貝麗說,有輕微的修改,使其單數而不是複數:

public class ScheduleSelectedItem 
{ 
    private string Ad; 

    public ScheduleSelectedItem(string ad) 
    { 
     Ad = ad; 
    } 
    public override string ToString() 
    { 
     return this.Ad; 
    } 
} 

此外,你想爲你的列表中的「添加」方法。當你在它,爲什麼不從列表類繼承:

public class ScheduleSelectedItemsList : List<ScheduleSelectedItem> 
{ 

} 

或者你可以創建一個類型別名:

using ScheduleSelectedItemsList = List<ScheduleSelectedItem>; 

無論哪種方式,你可以使用新的這樣的代碼:

class Program 
{ 
    static void Main(string[] args) 
    { 
     var slist = new ScheduleSelectedItemsList() 
     { 
      new ScheduleSelectedItem("Yusuf") 
     }; 

     //write every item to the console, not just the first 
     slist.All(item => Console.Write(item.ToString())); 
     Console.ReadKey(); 
    } 
} 
相關問題