C#Void使用List.AddRange()列出类型转换错误

Bar*_*ers 2 c# list typeerror xamarin

我有两个列表,我填充,然后尝试连接在一起,但我得到一个void-to-list转换错误

public async Task<List<riskregister_hazard_template>> GetCategory(string _level1, string _level2)
    {

     List<riskregister_hazard_template> categories;
     List<riskregister_hazard_template> secondChunk;

     categories = await riskTable.Where(r => r.level_1 == _level1).Where(r => r.level_2 == _level2).ToListAsync();
     secondChunk = await riskTable.Skip(50).Where(r => r.level_1 == _level1).Where(r => r.level_2 == _level2).ToListAsync();


     List<riskregister_hazard_template> newList = categories.AddRange(secondChunk);

     return newList;
    }
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

Dea*_*one 5

List<T>.AddRange(IEnumerable<T> collection)将简单地将参数中的所有项添加到调用者集合中,这种方式类似于List<T>.Add(T item)工作,您没有获得任何返回值,集合只是更新.

只需在单独的行上执行:

categories.AddRange(secondChunk);
List<riskregister_hazard_template> newList = categories;
Run Code Online (Sandbox Code Playgroud)

或者,如果您不想要引用类型行为:

categories.AddRange(secondChunk);
List<riskregister_hazard_template> newList = new List<riskregister_hazard_template>(categories.Concat(secondChunk));
Run Code Online (Sandbox Code Playgroud)