新手求助,“当前上下文中不存在名称”

galahadrh 2010-08-09 04:43:38
太悲剧了,对照着参考书的例子都还出错。。。。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Text
{
static void Main()
{

int[] arr = new int[5] ;

for ( int i;i < arr.Length; i++) ;


arr[i] = i*i;

for (int i; i < arr.Length; i++) ;

Console.Write("arr[0]={1}", i, arr[i]);




}
}
}
错误提示4个i都不存在。。。。
...全文
317 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
harker007 2010-08-09
  • 打赏
  • 举报
回复
多分号
Alfredknox 2010-08-09
  • 打赏
  • 举报
回复
LZ应该习惯用大括号,并且你上面的写法也没有给i初始化值,所以出错了
Alfredknox 2010-08-09
  • 打赏
  • 举报
回复
int[] arr = new int[5];

for (int i = 0; i < arr.Length; i++)
{
arr[i] = i * i;
}

for (int i = 0; i < arr.Length; i++)
{
Console.Write("arr[0]={1}", i, arr[i]);
}

LZ是想实现这个吧
叶子 2010-08-09
  • 打赏
  • 举报
回复
i 没有初始值
mrxiaoan 2010-08-09
  • 打赏
  • 举报
回复
for语句后面不要分号的。
chtping 2010-08-09
  • 打赏
  • 举报
回复

都是啥眼神啊?还是都是新手
楼主的问题就是for语句后面加了“;”,而想要做的循环体没有放到{}里,所以会报循环体的i没有定义

这样就对了:

for ( int i;i < arr.Length; i++)
{
arr[i] = i*i;
}
for (int i; i < arr.Length; i++)
{
Console.Write("arr[0]={1}", i, arr[i]);
}

前面的几个回复没看清,这养个循环一个设置,一个显示,是独立的,其实lz可以每次设置完了就显示,这样省一次循环:

for ( int i;i < arr.Length; i++)
{
arr[i] = i*i;
Console.Write("arr[0]={1}", i, arr[i]);
}

记住循环体一定要用{}括起来,不然谁知道哪里结束,i不赋初值应该没问题,默认就是0


[Quote=引用楼主 galahadrh 的回复:]
太悲剧了,对照着参考书的例子都还出错。。。。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Text
{
static void Main()
{

……
[/Quote]
xingjibing 2010-08-09
  • 打赏
  • 举报
回复
晕,也没初始化
xingjibing 2010-08-09
  • 打赏
  • 举报
回复
你的for()后面直接跟的是;
后面的i自然就被任务是不存在的
danruojun 2010-08-09
  • 打赏
  • 举报
回复
有三个问题:
1是i没有赋初值;
2是i重复定义,第一个for循环int i=0,第二个改成i=0;
3for语句后面不应该加分号
machunjie2003 2010-08-09
  • 打赏
  • 举报
回复
太粗心了吧……是不是没有初始化啊……
村长_乐 2010-08-09
  • 打赏
  • 举报
回复
for ( int i;i < arr.Length; i++)
{

arr[i] = i*i;
}
for (int i; i < arr.Length; i++)
{
Console.Write("arr[0]={1}", i, arr[i]);
}
qiuxin425 2010-08-09
  • 打赏
  • 举报
回复
不要粗心大意呀!
baiyun789 2010-08-09
  • 打赏
  • 举报
回复
for ( int i;i < arr.Length; i++) ;
改成
for ( int i=0;i < arr.Length; i++) 要给i赋初值,并且后面没用分号

下面的问题类似
  • 打赏
  • 举报
回复
for ( int i;i < arr.Length; i++) ; for (int i; i < arr.Length; i++) ;
多个分号~~~~~~~~~~~~~~~
myhope88 2010-08-09
  • 打赏
  • 举报
回复
应该要把i赋初始值吧
不懂装懂 2010-08-09
  • 打赏
  • 举报
回复
为什么是循环两次....
天下如山 2010-08-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fdh120 的回复:]
for ( int i=0;i < arr.Length; i++)
{

arr[i] = i*i;

for (int i; i < arr.Length; i++) ;

Console.Write("arr[0]={1}", i, arr[i]);
}
[/Quote]
试下
不懂装懂 2010-08-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fdh120 的回复:]
for ( int i=0;i < arr.Length; i++)
{

arr[i] = i*i;

for (int i; i < arr.Length; i++) ;

Console.Write("arr[0]={1}", i, arr[i]);
}
[/Quote]
for ( int i=0;i < arr.Length; i++)
{

arr[i] = i*i;

for (int i=0; i < arr.Length; i++)
{
Console.Write("arr[0]={1}", i, arr[i]);
}
}
天下如山 2010-08-09
  • 打赏
  • 举报
回复
for ( int i=0;i < arr.Length; i++)
不懂装懂 2010-08-09
  • 打赏
  • 举报
回复
for ( int i=0;i < arr.Length; i++)
{

arr[i] = i*i;

for (int i; i < arr.Length; i++) ;

Console.Write("arr[0]={1}", i, arr[i]);
}

110,538

社区成员

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

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

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