public class Sys_role
    {
        private int _id;
        /// <summary>
        /// 主键:ID
        /// </summary>
        public int Id
        {
            get { return _id; }
            set { _id = value; }
        }        private string _role_name;
        /// <summary>
        /// 角色名
        /// </summary>
        public string Role_name
        {
            get { return _role_name; }
            set { _role_name = value; }
        }        private string _role_desc;
        /// <summary>
        /// 角色描述
        /// </summary>
        public string Role_desc
        {
            get { return _role_desc; }
            set { _role_desc = value; }
        }
    }   public class Sys_roleService
    {
        private static IList<Sys_role> GetSys_rolesBySQL(string strsql)
        {
            IList<Sys_role> roles = new List<Sys_role>();
            DataTable dt = DBHelper.GetDataTable(strsql);
            if (dt != null)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    Sys_role role = new Sys_role();
                    role.Id =int.Parse( dt.Rows[i]["Id"].ToString());
                    role.Role_name = dt.Rows[i]["role_name"].ToString();
                    role.Role_Desc = dt.Rows[i]["role_desc"].ToString();
                    roles.Add(role);
                }
            }            return roles;
        }
                  /// <summary>
        /// 根据主键ID得到某个角色
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public static Sys_role GetSys_roleById(int id)
        {
            string strsql = "select * from Sys_role where ID=" + id.ToString();
            try
            {
                return GetSys_rolesBySQL(strsql)[0];  //这里最后的[0]是什么意思?            }
            catch
            {
                return null;
            }        }

解决方案 »

  1.   

    GetSys_rolesBySQL返回的是列表 ,0就是取第一个 元素
      

  2.   

    返回IList<Sys_role>中的第一个对象
      

  3.   

    对,这里是索引的意思如果不加[0]会怎样?另外这里是根据数据库的ID搜索出Role的,而ID又是唯一的。。这个[0]是不是多余?
      

  4.   

    取数据库strsql 语句结果集的第一条实体数据
      

  5.   

    不加0就要报错啊 你搜索出来是个list但是方法的返回值却是Sys_role对象