C# 将枚举的多个副本添加到列表的惯用方法
我有一个表示为C# 将枚举的多个副本添加到列表的惯用方法,c#,list,enums,C#,List,Enums,我有一个表示为元组的结构。我需要将其转换为一个列表,这样列表应该有int份Enum。很明显,我可以使用while循环列表。添加来实现这一点,但我正在努力避免使用它,因为它不一定会终止。我想使用一些对C#更为惯用的语言,主要用于一般代码的清洁 当然,问题是,我现在看到的没有一个明显的方法可以做到这一点。到目前为止,我最搞笑的想法是产生int个线程,所有线程都将Enum添加到同一个列表中,只在一秒钟后死亡。但是,毫不奇怪,就代码而言,生成线程一点也不重要,它甚至比使用更难闻,而您的问题缺少一些细节,
元组的结构。我需要将其转换为一个列表
,这样列表应该有int
份Enum
。很明显,我可以使用while
循环列表。添加来实现这一点,但我正在努力避免使用它,因为它不一定会终止。我想使用一些对C#更为惯用的语言,主要用于一般代码的清洁
当然,问题是,我现在看到的没有一个明显的方法可以做到这一点。到目前为止,我最搞笑的想法是产生int
个线程,所有线程都将Enum
添加到同一个列表中,只在一秒钟后死亡。但是,毫不奇怪,就代码而言,生成线程一点也不重要,它甚至比使用更难闻,而您的问题缺少一些细节,但这可能会有所帮助:
Tuple<Enum, int> x = ...
var result = Enumerable.Range(0, x.Item2).Select(i => x.Item1).ToList();
Tuple x=。。。
var result=Enumerable.Range(0,x.Item2).Select(i=>x.Item1.ToList();
您的问题缺少一些细节,但这可能会有所帮助:
Tuple<Enum, int> x = ...
var result = Enumerable.Range(0, x.Item2).Select(i => x.Item1).ToList();
Tuple x=。。。
var result=Enumerable.Range(0,x.Item2).Select(i=>x.Item1.ToList();
您可以使用可枚举。重复此任务的或可枚举范围:
List<FooEnum> enums = Enumerable.Repeat(tuple.Item1, tuple.Item2).ToList();
List enums=Enumerable.Repeat(tuple.Item1,tuple.Item2).ToList();
(FooEnum
是元组中枚举的类型)您可以使用Enumerable。重复此任务的或Enumerable.Range
:
List<FooEnum> enums = Enumerable.Repeat(tuple.Item1, tuple.Item2).ToList();
List enums=Enumerable.Repeat(tuple.Item1,tuple.Item2).ToList();
(FooEnum
是元组中枚举的类型)疯狂的宾果游戏。非常感谢!疯狂的宾果游戏。非常感谢!