在C#中,从两个枚举中获取可能的对,可以通过使用LINQ(Language Integrated Query)来实现。以下是一个示例:
using System;
using System.Collections.Generic;
using System.Linq;
public enum Enum1
{
Value1,
Value2,
Value3
}
public enum Enum2
{
Value4,
Value5,
Value6
}
public class EnumCombination
{
public Enum1 Enum1Value { get; set; }
public Enum2 Enum2Value { get; set; }
}
public class Program
{
public static void Main()
{
var combinations = GetAllEnumCombinations();
foreach (var combination in combinations)
{
Console.WriteLine($"{combination.Enum1Value} - {combination.Enum2Value}");
}
}
public static List<EnumCombination> GetAllEnumCombinations()
{
var enum1Values = Enum.GetValues(typeof(Enum1)).Cast<Enum1>();
var enum2Values = Enum.GetValues(typeof(Enum2)).Cast<Enum2>();
var combinations = from enum1 in enum1Values
from enum2 in enum2Values
select new EnumCombination { Enum1Value = enum1, Enum2Value = enum2 };
return combinations.ToList();
}
}
在这个示例中,我们定义了两个枚举(Enum1和Enum2),以及一个表示枚举组合的类(EnumCombination)。我们使用LINQ的嵌套查询来生成所有可能的枚举组合,并将它们存储在一个List中。最后,我们遍历这个列表并输出每个组合。
领取专属 10元无门槛券
手把手带您无忧上云