> if (String.Equals(mkvp.Key, "PRI_KEY", StringComparison.OrdinalIgnoreCase)) > groupMember.PrimaryKey = Convert.ToInt32(mkvp.Value); > > if (String.Equals(mkvp.Key, "FIRST", StringComparison.OrdinalIgnoreCase)) > groupMember.FirstName = mkvp.Value; > > if (String.Equals(mkvp.Key, "LAST", StringComparison.OrdinalIgnoreCase)) > groupMember.LastName = mkvp.Value; > > if (String.Equals(mkvp.Key, "GstNo", StringComparison.OrdinalIgnoreCase)) > groupMember.GuestNo = Convert.ToInt64(mkvp.Value); > > if (String.Equals(mkvp.Key, "Notes", StringComparison.OrdinalIgnoreCase)) > groupMember.Notes = mkvp.Value;If you have many cases or the code per case gets bigger you can use a dictionary of delegates
static class Test_DictionaryDelegates { delegate void ChangeGroupMember(GroupMember groupMember, MKVP mkvp); static Dictionary<string, ChangeGroupMember> Actions = new Dictionary<string, ChangeGroupMember>() { {"PRI_KEY", ChangePrimaryKey} ,{"FIRST", ChangeFirstName} ,{"LAST", ChangeLastName} ,{"GSTNO", ChangeGuestNo} ,{"NOTES", ChangeNotes} }; //methods per case static void ChangePrimaryKey(GroupMember groupMember, MKVP mkvp) { groupMember.PrimaryKey = Convert.ToInt32(mkvp.Value); } static void ChangeFirstName(GroupMember groupMember, MKVP mkvp) { groupMember.FirstName = mkvp.Value; } static void ChangeLastName(GroupMember groupMember, MKVP mkvp) { groupMember.LastName = mkvp.Value; } static void ChangeGuestNo(GroupMember groupMember, MKVP mkvp) { groupMember.GuestNo = Convert.ToInt64(mkvp.Value); } static void ChangeNotes(GroupMember groupMember, MKVP mkvp) { groupMember.Notes = mkvp.Value; } // it happens here internal static void Go() { GroupMember groupMember = new GroupMember(1, "Gregory", "Adam", 234, "none"); MKVP mkvp = new MKVP("First", "Alan"); ChangeGroupMember action; if( !Actions.TryGetValue(mkvp.Key.ToUpper(), out action)) throw new NotImplementedException(string.Format("Don't know what to do with {0}", mkvp.Key)); action(groupMember, mkvp); } } class MKVP { public string Key; public string Value; public MKVP(string key, string value) { Key = key; Value = value; } } class GroupMember { public int PrimaryKey ; public string FirstName; public string LastName; public long GuestNo; public string Notes; public GroupMember(int primaryKey ,string firstName, string lastName, long guestNo, string notes) { PrimaryKey = primaryKey; FirstName = firstName; LastName = lastName; GuestNo = guestNo; Notes = notes; } }