gpt4 book ai didi

c# - 将 'enum' 的数组转换为 'int' 的数组

转载 作者:IT王子 更新时间:2023-10-29 04:02:56 39 4
gpt4 key购买 nike

我正在尝试将 Enum 数组转换为 int 数组:

public enum TestEnum
{
Item1,
Item2
}

int[] result = Array.ConvertAll<TestEnum, int>(enumArray, new Converter<TestEnum, int>(Convert.ToInt32));

由于某些原因,Convert.ToInt32 在 Array.ConvertAll 中使用时不起作用,因此我不得不进行一些更改:

int[] result = Array.ConvertAll<TestEnum, int>(enumArray, new Converter<TestEnum, int>(ConvertTestEnumToInt));

public static int ConvertTestEnumToInt(TestEnum te)
{
return (int)te;
}

出于好奇,有没有办法在不使用额外方法的情况下让它工作?

问候

最佳答案

只需使用匿名方法进行转换:

int[] result = Array.ConvertAll<TestEnum, int>(
enumArray, delegate(TestEnum value) {return (int) value;});

或者对于 C# 3.0,一个 lambda:

int[] result = Array.ConvertAll(enumArray, value => (int) value);

关于c# - 将 'enum' 的数组转换为 'int' 的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/472384/

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