c#中提示 当前上下文中不存在文件名“**” 的问题

傲慢的哈娃儿 2012-11-20 05:41:18
在vs2005 c#环境下private void button1_Click(object sender, EventArgs e)中的一段程序如下

for (int j = 0; j < 500000; j++)
{
if (j < 60000 && data_deliver.ex_item == 1)
{
Excel.Worksheet objsheet1 = (Excel.Worksheet)objbook.Worksheets.get_Item(1);
data_deliver.ex_item = 2;
x = 1;
y = 1;
}

if (j >= 60000 && j < 120000 && data_deliver.ex_item == 2)
{
Excel.Worksheet objsheet2 = (Excel.Worksheet)objbook.Worksheets.get_Item(2);
data_deliver.ex_item = 3;
x = 1;
y = 1;
}

if (j >= 120000 && j < 180000 && data_deliver.ex_item == 3)
{
Excel.Worksheet objsheet3 = (Excel.Worksheet)objbook.Worksheets.get_Item(3);
data_deliver.ex_item = 4;
x = 1;
y = 1;
}
if (data_deliver.ex_item == 2)
{
Excel.Range r = (Excel.Range)objsheet1.Cells[x, y];
}

else if (data_deliver.ex_item == 3)
{
Excel.Range r = (Excel.Range)objsheet2.Cells[x, y];
}

else if (data_deliver.ex_item == 4)
{
Excel.Range r = (Excel.Range)objsheet3.Cells[x, y];
}

r.Value2 = data_deliver.Datacache[j];



}

编译时提示:
当前上下文中不存在文件名“objsheet1”
当前上下文中不存在文件名“objsheet2”
当前上下文中不存在文件名“objsheet3”
当前上下文中不存在文件名“r”


如果按c语言的话,这段程序应该没问题吧!但为啥在C#中就出现错误了啊??好像编译时计算机忽略了if条件下的语句! 我刚开始学C#,也是第一次用vs2005,望朋友们指教一下,谢谢了
...全文
584 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲慢的哈娃儿 2012-11-20
  • 打赏
  • 举报
回复
谢谢了哈
bdmh 2012-11-20
  • 打赏
  • 举报
回复
Excel.Worksheet objsheet1放到if语句外面,否则只能在第一个if的代码块内访问,其他地方访问不了
kxloveh 2012-11-20
  • 打赏
  • 举报
回复
objsheet1 这个问题是变量的作用域的问题,你的objsheet1 放在if语句里面,那么objsheet1 只在那个if语句内有效,出了if语句的{}就失效了
1. 实现了对文件、文件夹的复制、粘贴、剪切、删除功能; 2.实现了对文件夹的双击打开、对多种类型的文件的双击打开查看功能; 3.实现了主窗体左边驱动器树形视图(显示各驱动器及内部各文件夹列表)、右边文件列表视图(显示当前文件夹下所包含的文件和下一级文件夹)的显示,以及两者的联动显示。左右窗体间设有分隔条,拖动可改变左右窗体大小。文件列表视图包含了名称、修改日期、类型、大小四个字段; 4.实现了在主窗体右边文件列表视图进行右键时弹出的上下文菜单,该菜单会根据当前是否选某一文件项而将菜单项加以调整。例如,右键时,若当前没有选文件项,则可以显示出“查看”、“新建文件”、“新建文件夹”等菜单项;但是若当前了某一文件项,则可以显示出“复制”、“剪切”、“重命名”等菜单项; 5. 实现了主窗体地址栏、状态栏的显示和隐藏可以由用户控制; 6. 实现了文件、文件夹属性的查看; 7.实现了对当前计算机的进程、线程简单管理功能; 8. 实现了在当前路径下“返回上一级目录”的功能; 9. 实现了在主窗体上方地址栏直接输入文件路径,然后直接回车查看该路径下的文件列表的功能; 10. 实现了对当前计算机文件、文件夹的监控功能。可定制化程度较高,既可以实现对特定路径的监控,也可以实现对具体磁盘驱动器的监控,甚至是全盘监控。监控过程的日志均高亮显示在监控窗口,也支持将日志保存到特定路径; 11. 将重命名功能加以改进,实现了类似windows的”选定->再单击->出现重命名状态->进行重命名“功能; 12. 实现了对当前计算机的文件/文件夹的权限管理功能。权限管理包括:完全控制、修改、读取和执行、列出文件夹内容、读取、写入共6个模块; 13.实现了”最近访问“的功能,用户可以在该功能区找到最近使用的文件,并双击打开查看; 14.实现了新建文件功能,用户可以根据自己的需要在弹出的窗口输入文件的全名(包括“文件名+拓展名”),从而新建各种类型的文件; 15.实现了用户在主窗体右边文件列表的历史访问路径的前进、后退功能; 16.实现了对文件/文件夹的快速搜索功能(基于多线程)。使用时先在地址栏输入特定文件路径(或者直接进入特定文件路径),然后直接在主窗体上方搜索框输入你所要搜索的文件名或关键字,最后回车即可在当前文件列表区显示出搜索到的结果,搜索到的文件/文件夹支持直接双击查看或编辑。实测时,比windows自带的文件/文件夹搜索功能快一点。 ....... 支持开源精神,需要详细了解这个Demo的朋友可以移步: https://github.com/Yuziquan/MyFileManager 欢迎star~~~

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧