我有一个List<Thread>
类型的变量FirstThreads。
我正在尝试执行以下操作,但FirstThreads始终为null。
FirstThreads.AddRange(Threads.Skip<Thread>(PageIndex * PageSize)
.Take<Thread>(PageSize));
我不能这样做:
FirstThreads = FirstThreads.AddRange(Threads.Skip<Thread>(PageIndex * PageSize)
.Take<Thread>(PageSize));
你知道如何解决这个问题吗?
答案 0 :(得分:9)
在您与FirstThreads
变量进行互动之前,您需要制作
变量引用List<Thread>
实例,如下所示:
firstThreads = new List<Thread>();
你也可以写
firstThreads = Threads.Skip<Thread>(PageIndex * PageSize).Take<Thread>(PageSize)
答案 1 :(得分:5)
您需要先初始化List<FirstThreads>
。
任何对象的默认值为null
。
例如:
List<FirstThreads> firstThreads = new List<FirstThreads>();
firstThreads.AddRange(collection);
答案 2 :(得分:3)
你需要首先实例化列表,我认为它是List<Thread>
?
所以
FirstThreads = new List<Thread>();
答案 3 :(得分:3)
您需要实例化List对象:
List<Thread> FirstThreads = new List<Thread>();
答案 4 :(得分:2)
如果有疑问,“新”关键字总值得一试
答案 5 :(得分:1)
您可以使用
FirstThread =
new List<Thread>(Threads.Skip<Thread>(PageIndex * PageSize)
.Take<Thread>(PageSize));
或者如果你不确定它是否有物品并且已经实例化
(FirstThread ?? FirstThread = new List<Thread>())
.AddRange(Threads.Skip<Thread>(PageIndex * PageSize)
.Take<Thread>(PageSize));
注意:
您可以为<Thread>
和Skip
方法取出Take
,因为它会被推断出来。
答案 6 :(得分:1)
那就是,如果你编写FirstThreads.AddRange,你暗示FirstThreads是一个AddRange方法的对象;但是FirstThreads为null,这意味着它是空的(所以它没有方法) 你必须将FirstThreads列为空列表:
FirstThreads = new List<Thread>();
答案 7 :(得分:1)
FirstThreads被设置为null或永远不会被初始化。无论哪种方式,我猜你需要创建一个分配给它的对象。
FirstThreads = new&lt; - visual studio将自动完成对象创建代码