首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

结构类型的赋值与调用有关问题

2012-01-16 
结构类型的赋值与调用问题结构类型的赋值与调用问题我定义了一个结构类型publicclassmemtype:System.Web.U

结构类型的赋值与调用问题
结构类型的赋值与调用问题

我定义了一个结构类型  
        public   class   memtype:System   .Web   .UI.Page  
        {  
                public   struct   _memtype  
                {  
                        public   string   memtypes;     //会员类型  
                        public   int   xinx1;         //购应信息数量  
                        public   int   xinx2;         //采购信息数量  
                        public   int   xinx3;         //代理信息数量  
                        public   int   xinx4;         //合作信息数量  
                        public   int   xinx5;         //招商信息数量  
                }  
                public   memtype()  
                {  
                        string   sql   =   "select   *   from   member_Competence   where   id= "   +   Session[ "levels "]   +   " ";  
                        SqlDataReader   reader   =   connstr.ExecuteReader(sql);  
                        if   (reader.Read())  
                        {  
                                _memtype   me;  
                                me.memtypes   =   reader[ "type "].ToString();  
                                me.xinx1   =   Convert.ToByte(reader[ "xinx1 "].ToString());  
                                me.xinx2   =   Convert.ToByte(reader[ "xinx2 "].ToString());  
                                me.xinx3   =   Convert.ToByte(reader[ "xinx3 "].ToString());  
                                me.xinx4   =   Convert.ToByte(reader[ "xinx4 "].ToString());  
                                me.xinx5   =   Convert.ToByte(reader[ "xinx5 "].ToString());  
                        }  


                        reader.Close();  
                }  
        }  

然后在其它页面调用:  
namespace   led.my  
{  
        public   partial   class   index   :   System.Web.UI.Page  
        {  
                protected   void   Page_Load(object   sender,   EventArgs   e)  
                {  
                        led.memtype._memtype   _me;  
                        this.memtype.Text   =   _me.memtypes.ToString();  
                        this.xinx1.Text   =   _me.xinx1.ToString();  
                        this.xinx2.Text   =   _me.xinx2.ToString();  
                        this.xinx3.Text   =   _me.xinx3.ToString();  
                        this.xinx4.Text   =   _me.xinx4.ToString();  
                        this.xinx5.Text   =   _me.xinx5.ToString();  
                }  
        }  
}  
   
错误提示:使用了可能没有赋值的字段..那地方错了?    


[解决办法]
led.memtype._memtype _me; //这里使用结构(结构是值类型)
this.memtype.Text = _me.memtypes.ToString();  //_me初始化了吗?对于值类型,先定义,后初始化,再使用。没有初始化怎么使用
[解决办法]
结构不是引用类新,调用构造函数,必须有参数,也就是说int 类型的,不会自动赋值为0,你要自己控制。。

热点排行