c# - 用随机值填充空 Guid 列表的最简单方法

标签 c# linq

var ids = new List<Guid>(count);

我有一个多个项目的空列表,我正在寻找一种优雅的方式来用随机 Guid 填充它,而不使用 for 循环,最好是单行。

最佳答案

低效但一行:

var list = Enumerable.Range(0, count).Select(_ => Guid.NewGuid()).ToList();

效率更高:

var list = new List<Guid>(count);
for (int i = 0 ; i < count ; i++) list.Add(Guid.NewGuid());

如果列表已经存在,那么...只需使用第二个版本。您可以可能强制 LINQ 执行此操作而不在您的代码中使用循环,但是:不要那样做。你在这里循环,所以......使用循环!将循环移动到 LINQ 中并没有改进 - 它只会使其更难阅读并且执行效率更低。

关于c# - 用随机值填充空 Guid 列表的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54078785/

相关文章:

c# - 为什么我无法上传到 Blob?

c# - WinDbg - 查看 System.Web.Compilation.BuildManager 的 ResultCache

c# - 如何在 .NET Core 3.0 Entity Framework 中执行组加入?

c# - 如何在保持原始顺序的文本中出现第一个字符?

linq - TransactionScope、linq 和奇怪的事务管理器问题(HRESULT : 0x8004D024)

c# - TreeView 数据绑定(bind) - 来自 c# 对象?

c# - QuickFix/N 如何最好地处理多个 FIX 版本

c# - 如何从PropertyChanged事件获取Type?

c# - LINQ+Lambda 与标准索引器+foreach - 即使 MS 和 Lippert 也说索引器更好。那么在这种情况下呢?

c# - 泛型类型的 Linq 类型转换