如何从Class返回List

时间:2009-02-25 14:09:47

标签: c# .net generics

 class Program
    {
        static void Main(string[] args)
        {
            mylist myitems1 = new mylist("Yusuf","Karatoprak");
            SelectedItemsList slist = new SelectedItemsList();
            slist.Items.Add(myitems1);
            foreach( object o in slist.Items)
            Console.Write(o.ToString()+"\n");
            Console.ReadKey();
        }
    }

    public class mylist
    {
        private string Ad;
        private string SoyAd;
        public mylist(string ad, string soyad)
        {
            Ad = ad;
            SoyAd = soyad;
        }

        public override string ToString()
        {
            return "Ad:" + this.Ad;
        }
    }
    public class SelectedItemsList
    {
        public List Items;

public SelectedItemsList() { Items = new List<mylist>(); } }</code></pre>


我想返回一个arylylist或列表形式的mylist类,但如何?返回this.Ad,也重新调整.SayayAd蚀刻。 请看ToString()程序:它是返回广告,但我想一起返回Ad也是SoyAd。列表中不仅有Ad,还有Ad,SoyAd。

3 个答案:

答案 0 :(得分:6)

你的问题很不清楚,但如果你的意思是你想让mylist有一个返回包含Ad和SoyAd的列表的方法,那么就这样做:

// This could be a property
public IList<string> GetAds()
{
    List<string> ret = new List<string>();
    ret.Add(Ad);
    ret.Add(SoyAd);
    return ret;
}

如果你可以使用IEnumerable<string>,你可以使用迭代器块:

// This could be a property
public IEnumerable<string> GetAds()
{
    yield return Ad;
    yield return SoyAd;
}

答案 1 :(得分:2)

要返回ArrayList或List,只需使用“public List someFunction()”或“public ArrayList someFunction()”。 如果这不是您想要的,请重新提出您的问题。

答案 2 :(得分:1)

仅返回adsoyad的列表,保留其独立列表,在添加时填写