다음 예제에서는 양식의 ComboBox에 "APPLE"로 시작하는 맛을 추가하고 싶습니다. 열거 형에 고유 한 값이 있으면 잘 작동합니다. 그러나, 내 예제에서 두 열거 형 PINEAPPLE_PEACH 및 APPLE_ORANGE 모두 1의 값을 가지고 있으며이 결과를 엉망으로 만듭니다.일부 열거 형 값을 콤보 상자에 추가하는 방법
동일한 값을 가진 두 개의 열거 형을 사용하는 것이 잘못 되었습니까? 그렇다면 일관성있는 결과를 얻기 위해 어떻게 코드를 변경할 수 있습니까?
public enum Flavour
{
APPLE_PEACH = 0,
PINEAPPLE_PEACH = 1,
APPLE_ORANGE = 1,
APPLE_BANANA = 3,
PINEAPPLE_GRAPE = 4
}
private void AddFlavours()
{
foreach (Flavour flavour in Enum.GetValues(typeof(Flavour)))
{
string flavourName = Enum.GetName(typeof(Flavour), flavour);
if (flavourName.StartsWith("APPLE"))
{
myComboBox.Items.Add(flavour);
}
}
}
당신은 Konamiman 설명 반복을 사용할 수 있습니다. 하지만 어쨌든 왜 열거 형 값에 중복이 필요합니까? – terR0Q
그것은 실제로 선택의 여지가 없어 써드 파티 라이브러리의 열거 형입니다 :). 위의 코드는 설명을위한 것입니다. – eft
[enum 요소 중 일부를 제외한 comboBox 열거 형]의 가능한 복제본 (http://stackoverflow.com/questions/35047167/enum-to-combobox-except-some-of-enum-elements) – Eulogy