public Form1(){ InitializeComponent(); string strRadio = Utils.Readfile(strTemp + @"\rstations.txt"); string[] aradio = strRadio.Split(new string[] { "#" },StringSplitoptions.RemoveEmptyEntrIEs); for (int i = 0; i < aradio.Length; i += 2) { ListBox.Items.Add(aradio[i]); }}private voID ListBox_SelectedindexChanged(object sender,EventArgs e){ int index = ListBox.Selectedindex; MessageBox.Show(aradio[(index+1)]);}
现在错误是当前上下文中不存在名称’aradio’.它来自MessageBox.Show(aradio [(index 1)]);.我是否需要将aradio声明为公共或其他内容?如果是这样,怎么办呢?
解决方法 您在构造函数中将aradio声明为局部变量.您需要将其声明为实例变量,并在构造函数中为其赋值:// Todo: Give this a better nameprivate Readonly string[] aradio;// Todo: Give your form a better name toopublic Form1(){ InitializeComponent(); // Todo: You might want to reconsIDer reading files in a GUI constructor,too // Todo: Use Path.Combine(strTemp,"rstations.txt" instead of concatenation string strRadio = Utils.Readfile(strTemp + @"\rstations.txt"); aradio = strRadio.Split(new string[] { "#" },StringSplitoptions.RemoveEmptyEntrIEs); for (int i = 0; i < aradio.Length; i += 2) { ListBox.Items.Add(aradio[i]); }}
如果您可以通过向列表框添加自定义对象(或只是keyvaluePair< string,string>)并通过属性绑定显示部分,那么我可能会比这种方法做得更好.这样你就可以得到所选择的项而不是选定的索引……没有必要像这样保留文本/值对.
总结以上是内存溢出为你收集整理的c# – 当前上下文中不存在名称XXXX全部内容,希望文章能够帮你解决c# – 当前上下文中不存在名称XXXX所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)