List擴充套件方法出錯,this關鍵詞出錯,解決方案

weixin_33763244發表於2017-11-12

今天因為在做專案時要經常對List<>方法提取指定數目集合,然後就想辦法為list集合寫了一個擴充套件方法,我是這麼寫的

namespace  System.Collections.Generic
{
    public static class ListExt
    {
        public static List<T> GetListByNumber(this List<T> a, int ix)
        {
            List<T> list = new List<T>();
            for (int j = 0; j < a.Count && j < ix; j++)
            {
                list.Add(a[j]);
            }
            return list;
        }
    }
}

但是一直報錯,說this關鍵詞錯誤,經查詢msdn的相關訊息,擴充套件方法是.net 2.0以上才有的擴充套件,2.0及其以下不支援,所以不能編譯成功,但後來修改環境後還是編譯不成功,後來經除錯,GetListByNumber方法後應該加上型別,應改為GetListByNumber<T>
最後的實現應該是:

namespace  System.Collections.Generic
{
    public static class ListExt
    {
        public static List<T> GetListByNumber<T>(this List<T> a, int ix)
        {
            List<T> list = new List<T>();
            for (int j = 0; j < a.Count && j < ix; j++)
            {
                list.Add(a[j]);
            }
            return list;
        }
    }

}
 

本文轉自 tongling_zzu 51CTO部落格,原文連結:http://blog.51cto.com/tongling/1144638


相關文章