首页 > 其他 > 详细

通过字段名和数值获取集合序号

时间:2019-08-08 19:23:57      阅读:191      评论:0      收藏:0      [点我收藏+]
     /// <summary>
        /// 获取类中的属性值
        /// </summary>
        /// <param name="FieldName"></param>
        /// <param name="obj"></param>
        /// <returns></returns>
        private static T GetModelValue<T>(string FieldName, object obj)
        {
            try
            {
                Type Ts = obj.GetType();
                T o = (T)Ts.GetProperty(FieldName).GetValue(obj);
                if (string.IsNullOrEmpty(o.ToString())) return default(T);
                return o;
            }
            catch
            {
                return default(T);
            }
        }

        /// <summary>
        /// 设置类中的属性值
        /// </summary>
        /// <param name="FieldName"></param>
        /// <param name="obj"></param>
        /// <returns></returns>
        private static bool SetModelValue<T>(string FieldName, T Value, object obj)
        {
            try
            {
                Type Ts = obj.GetType();
                object v = Convert.ChangeType(Value, Ts.GetProperty(FieldName).PropertyType);
                Ts.GetProperty(FieldName).SetValue(obj, v, null);
                return true;
            }
            catch
            {
                return false;
            }
        }
        /// <summary>
        /// 遍历Object集合,获取字段名和值相同的集合的序号
        /// </summary>
        /// <param name="list">遍历的集合</param>
        /// <param name="FieldName">字段名</param>
        /// <param name="value">字段数据</param>
        /// <typeparam name="T">字段类型</typeparam>
        /// <returns></returns>
        public static int SearchPeopleByT<T>(System.Collections.Generic.List<Object> list, string FieldName, T value)
        {
            for (int i = 0; i < list.Count; ++i)
            {
                T re = GetModelValue<T>(FieldName, list[i]);
                if (value.Equals(re))
                {
                    return i;
                }
            }
            return -1;
        }

 

通过字段名和数值获取集合序号

原文:https://www.cnblogs.com/z45281625/p/11322606.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!