问题描述
publicpartialclassForm2:Form{SE[]e=newSE[50];publicForm2(SE[]s){e=s;InitializeComponent();}privatevoidForm2_Load(objectsender,EventArgse){e[0]this.textBox1.Text=e[0].Name.ToString();}}申请了一个SE类和PM类。然后想把下面类数组的值传给上面代码然后报错,e[0]调不出来值。并且错误3无法将带[]的索引应用于“System.EventArgs”类型的表达式求大牛@!}SE[]s=newSE[50];privatevoidForm1_Load(objectsender,EventArgse){this.listView1.FullRowSelect=true;s[0]=newSE();s[0].SeId1=10011;s[0].Name="小张";s[0].SeAge1=18;s[0].SePingjia1="不错";s[1]=newSE();s[1].SeId1=10012;s[1].Name="小王";s[1].SeAge1=18;s[1].SePingjia1="不错";s[1].Score=0;for(inti=0;i<2;i++){ListViewItemlvi=newListViewItem();lvi.Text=s[i].SeId1.ToString();lvi.SubItems.AddRange(newstring[]{s[i].Name.ToString(),s[i].SeAge1.ToString(),s[i].SePingjia1.ToString(),s[i].Score.ToString(),});this.listView1.Items.Add(lvi);}}publicvoidlistView1_DoubleClick(objectsender,EventArgse){if(listView1.SelectedItems[0]==null){return;}Form2f2=newForm2(s);f2.Show();}
解决方案
解决方案二:
跪求!!!实在是迷茫了。。
解决方案三:
你可以在Form2f2=newForm2(s);这条语句这里设置断点,看看变量s的值是什么?!
解决方案四:
为毛你一定要用e这个名字呢?SE[]e=newSE[50];换个名字试试呗
解决方案五:
引用3楼yang1216的回复:
为毛你一定要用e这个名字呢?SE[]e=newSE[50];换个名字试试呗
嗯,是这样的。如果你的代码根本编译不过,那就直接改语法(经常是类型)错误,谈不上调试。
解决方案六:
SE[]e=newSE[50];和EventArgse编译时没有报错或者提示?
解决方案七:
sender代表了当前触发事件的那个控件,不是e
解决方案八:
应该是变量名e的问题吧换个名试试
解决方案九:
关于类数组的调用问题//设置类数组(这里掉用的是字体数组strFont())publicclassSqlData{#region类中的全局变量publicSqlConnectionsqlcon;//申明一个SqlConnection对象privateSqlCommandsqlcom;//申明一个SqlCommand对象privateSqlDataAdaptersqldata;//申明一个SqlDataAdapter对象publicSqlData(){sqlcon=newSqlConnection(ConfigurationManager.AppSettings["conStr"]);}publicboolBindData(GridViewdl,stringSqlCom){dl.DataSource=this.ExceDS(SqlCom);try{dl.DataBind();returntrue;}catch{returnfalse;}finally{sqlcon.Close();}}//codego.net/tags/11/1/publicDataSetExceDS(stringSqlCom){try{sqlcon.Open();//打开链接SqlCommandsqlcom=newSqlCommand(SqlCom,sqlcon);SqlDataAdaptersqldata=newSqlDataAdapter();sqldata.SelectCommand=sqlcom;DataSetds=newDataSet();sqldata.Fill(ds);returnds;}finally{sqlcon.Close();}}publicDataSetGetDataSet(stringSqlCom,stringtablename){try{sqlcon.Open();//打开链接SqlCommandsqlcom=newSqlCommand(SqlCom,sqlcon);SqlDataAdaptersqldata=newSqlDataAdapter();sqldata.SelectCommand=sqlcom;DataSetds=newDataSet();sqldata.Fill(ds,tablename);returnds;}finally{sqlcon.Close();}}publicboolExceSQL(stringstrSqlCom){SqlCommandsqlcom=newSqlCommand(strSqlCom,sqlcon);try{//判断数据库是否为连连状态if(sqlcon.State==System.Data.ConnectionState.Closed){sqlcon.Open();}//执行SQL语句sqlcom.ExecuteNonQuery();//SQL语句执行成功,返回true值returntrue;}catch{//SQL语句执行失败,返回false值returnfalse;}finally{//关闭数据库连接sqlcon.Close();}}#regionFreeTextBox控件的字体//FreeTextBox控件的字体publicstring[]strFont(){string[]str=null;str=newstring[]{"宋体","楷体_GB2312","隶书","华文行楷","华文中宋","新宋体","黑体","方正舒体","方正姚体","仿宋_GB2312","华文彩云","华文细黑","华文新魏","华文中宋"};returnstr;}#endregion}//cs页面调用自定义类字体数组publicstringST_tcolor;protectedSystem.Web.UI.HtmlControls.HtmlFormshow;publicstringST_bgcolor;SqlConnectionST_myConn;SqlDatadataoperate=newSqlData();//初始化自定义对象protectedvoidPage_Load(objectsender,System.EventArgse){FreeTextBox1.FontFacesMenuList=dataoperate.strFont();//为文本框设置字体、调用类数组strFont()方法//在此处放置用户代码以初始化页面if(Request.Cookies["colors"]!=null){stringST_test=Request.Cookies["colors"].Value;String[]ST_colorList=ST_test.Split(newchar[]{','});ST_bgcolor=ST_colorList[0];ST_tcolor=ST_colorList[1];}else{ST_bgcolor="#FFDE94";ST_tcolor="#efe3ce";}ST_msg_Bind();Page.DataBind();}
解决方案十:
新手问题,全局变量和局部变量重名问题局部变量可以使用全局变量名,以局部变量为优先比如如下代码:inta=0;voidfunction(){stringa="1";//这里的a是局部变量,跟全局变量的a没有关系}