저는 C# 윈도우에서 작동합니다 ... vs05 ...... 열거 형 문자열에 공백을 넣고 싶습니다 ....이 코드는 다음과 같습니다 ..... 내 문제 콤보에서 값을 선택하면 어떻게됩니까?이 값의 색인 번호를 얻는 방법 ..... 그리고 내가 편집 모드로 간다면 사용자가 이미 선택되어있는 값을 보여줄 필요가 있습니다. ..... 얻는 방법 인덱스 번호의 기준으로 선택된 값을 열거 형C#에서 열거 형과 문자열 연결하기
public enum States
{
California,
[Description("New Mexico")]
NewMexico,
[Description("New York")]
NewYork,
[Description("South Carolina")]
SouthCarolina,
Tennessee,
Washington
}
public static string GetEnumDescription(Enum value)
{
FieldInfo fi = value.GetType().GetField(value.ToString());
DescriptionAttribute[] attributes =
(DescriptionAttribute[])fi.GetCustomAttributes(
typeof(DescriptionAttribute), false);
if (attributes != null && attributes.Length > 0)
return attributes[0].Description;
else
return value.ToString();
}
public static IEnumerable<T> EnumToList<T>()
{
Type enumType = typeof(T);
// Can't use generic type constraints on value types,
// so have to do check like this
if (enumType.BaseType != typeof(Enum))
throw new ArgumentException("T must be of type System.Enum");
Array enumValArray = Enum.GetValues(enumType);
List<T> enumValList = new List<T>(enumValArray.Length);
foreach (int val in enumValArray)
{
enumValList.Add((T)Enum.Parse(enumType, val.ToString()));
}
return enumValList;
}
private void Form1_Load(object sender, EventArgs e)
{
//cboSurveyRemarksType = new ComboBox();
cboSurveyRemarksType.Items.Clear();
foreach (States state in EnumToList<States>())
{
cboSurveyRemarksType.Items.Add(GetEnumDescription(state));
}
}
http://stackoverflow.com/questions/796607/how-do-i-override-tostring-in-cumens에서이 작업을 시도했습니다. 많은 사람들이 훌륭한 아이디어와 답변을주었습니다! – scraimer