如何在给定
param T[]
的情况下调用需要 IEnumerable<T>
参数的函数?
考虑以下函数签名:
public async Task AddNotificationRecordsAsync(IEnumerable<NotificationRecord> notificationRecords, CancellationToken cancellationToken = default)
在这个函数中,我想调用以下EF Core函数:
void DbSet<NotificationRecord>.AddRange(params NotificationRecord[] entities)
但是,我不知道如何将
IEnumerable
转换为单独的params
。
在Python中,我会使用解包运算符“*”,如下所示:
f(*mylist)
。
param
关键字允许您将数组或类似的参数作为单独的参数传递。但它并不禁止您传递常规数组。
Enumerable.ToArray
方法将 IEnumerable<T>
转换为 T[]
并将其传递给您的 DbSet.AddRange
方法。