gpt4 book ai didi

c# - 在 C# 中将 Enum 转换为 Int 数组的一行代码

转载 作者:太空宇宙 更新时间:2023-11-03 21:19:12 24 4
gpt4 key购买 nike

在尝试将枚举转换为其值的 int[] 时,我最初提出了冗长的想法:

Enum.GetValues(typeof(Isolations.Enumerations.TypeSelectionScope))
.Cast<Isolations.Enumerations.TypeSelectionScope>().Select(t => (int)t).ToArray()

它有效,但是..好吧,它并不漂亮。

我进行了一些搜索,发现有人为此目的在多行中使用 ConvertAll()。所以我尝试了内联。

Array.ConvertAll(Enum.GetValues(typeof(Isolations.Enumerations.TypeSelectionScope)), value => (int)value)

这会产生一个类型错误,并且在其中添加一些转换会使它像第一次尝试一样困惑。

我还尝试了直接转换为 int[] 但无济于事:

Enum.GetValues(typeof(Isolations.Enumerations.TypeSelectionScope)).Cast<int[]>()

向其添加 ToArray() 也会失败。

那么,什么是不困惑的单行解决方案?

最佳答案

Enumerable.Cast<T> 遍历集合并将每个项目转换为 T

您正在尝试将每个实例转换为 int[] - 你想将它们转换为 int相反:

.Cast<int>()

关于c# - 在 C# 中将 Enum 转换为 Int 数组的一行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31944492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com