使用
var test = new RarityEnum[] { RarityEnum.Uncommon };
var test2 = new RarityEnum[] { RarityEnum.Uncommon };
var test3 = test.Union(test2);
为什么test3只包含1项而不包含2项?
我应该如何更改它,以便它正确地生成一个新的枚举列表(即使相同的枚举值多次出现(?
我可以在Union之前强制转换为int,然后在之后强制转换回enum。。。那是最干净的吗?我觉得选角不太好看
来自Microsoft关于Union的文档:"此方法从返回集中排除重复项。这与Concat方法不同,后者返回输入序列中的所有元素,包括重复项。">
在本例中:
var test = new string[] { "cat" };
var test2 = new string[] { "cat" };
var test3 = test.Concat(test2);
var test4 = test.Union(test2);
test3
最终成为{ "cat", "cat" }
test4
只是{ "cat" }