声明的枚举类型可以在类里面作为数组使用吗 在c#中
时间: 2024-03-09 20:51:00 浏览: 29
在C#中,声明的枚举类型同样可以在类中作为数组使用。与C++类似,枚举类型在C#中也被视为整数类型。以下是一个简单的示例:
```
enum Colors {Red, Green, Blue}
public class MyClass
{
public Colors[] MyColors { get; set; }
public MyClass()
{
MyColors = new Colors[3];
}
}
```
在这个示例中,我们在MyClass类中声明了一个名为MyColors的Colors类型的数组。在MyClass的构造函数中,我们使用new关键字初始化了这个数组。可以像使用任何其他数组一样使用它。
相关问题
C#在数组里面创建数组
在C#中,可以在数组中创建一个数组。例如,下面的代码演示了如何创建一个包含3个元素,每个元素都是一个包含4个元素的整数数组的二维数组:
```csharp
int[][] myArray = new int[3][];
myArray[0] = new int[4] {1, 2, 3, 4};
myArray[1] = new int[4] {5, 6, 7, 8};
myArray[2] = new int[4] {9, 10, 11, 12};
```
在这个例子中,我们首先声明了一个包含3个元素的整数数组myArray。然后,我们使用索引myArray [0],myArray [1]和myArray [2]分别为myArray数组中的每个元素创建一个新的整数数组。每个新数组都有4个元素。最后,我们使用花括号将每个新数组的元素初始化为特定的值。
c# 在用反射对类赋值时 不知道枚举的类型 整形数组如何给枚举数组赋值
在使用反射对类赋值时,可以使用 Enum.Parse 方法将整数转换为枚举值。具体来说,可以使用以下代码:
```
// 获取枚举类型
Type enumType = typeof(MyEnum);
// 获取整型数组
int[] intArray = new int[] { 1, 2, 3 };
// 创建枚举数组
Array enumArray = Array.CreateInstance(enumType, intArray.Length);
// 遍历整型数组,将每个整数转换为枚举值并赋值给枚举数组
for (int i = 0; i < intArray.Length; i++)
{
object enumValue = Enum.Parse(enumType, intArray[i].ToString());
enumArray.SetValue(enumValue, i);
}
// 将枚举数组赋值给对象的属性或字段
myObject.MyEnumArray = (MyEnum[])enumArray;
```
这里假设 MyEnum 是你的枚举类型,myObject 是你要赋值的对象,MyEnumArray 是对象的属性或字段。需要注意的是,如果整型数组中有值不能转换为枚举值,会抛出异常,需要进行异常处理。
相关推荐
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)