简单的程序不起作用

时间:2013-01-18 19:10:02

标签: c# .net console-application

这是我第一次使用C#和ASP.NET,我正在阅读c#2010中的Beginning ASP.NET 4,但我从未使用过面向对象的编程。 (我是网络管理员所以我知道基本的编程。)

但是,我无法开始一个简单的程序

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2 {
    class Program {
        static void Main(string[] args) {
            int i;
            string[] nomi = new string[7];
            string[] cognomi = new string[7];
            for (i = 0; i = 6; i++) {
                Console.WriteLine("Inserisci il", i + 1, "° nome");
                nomi[i] = (Console.ReadLine);
            }

            for (i = 0; i = 6; i++) {

                Console.WriteLine("Inserisci il", i + 1, "° cognome");
                nomi[i] = (Console.ReadLine);
            }

            for (i = 0; i = 6; i++) {
                Console.WriteLine(nomi[i], " ", cognomi[i]);
            }
        }
    }
}

问题不在于algorythm,而在于声明部分。我无法显示错误日志,因为我有意大利语的VS.

我哪里错了?

5 个答案:

答案 0 :(得分:4)

没有错误消息很难提供帮助(也许你可以翻译它们,因为你显然知道这两种语言)。

当然,您的for循环语法不正确。这样:

for (i = 0; i = 6; i++)

应该是:

for (i = 0; i < 6; i++)  // Or <=, or whatever

看看for loop documentation on MSDN

另外Console.ReadLine is a method, not a property

nomi[i] = Console.ReadLine();

答案 1 :(得分:1)

您的for循环不正确。他们应该是

for (int i = 0; i < 7; i++)
{
}

或者,更好,

for (int i = 0; i < nomi.Length; i++)
{
}

这是说i应该从0开始,继续循环,直到值i不再小于7(或{的值为{ {1}})和nomi.Length每个循环应增加1(i)。

此外,与循环无关,它应该是i++Console.ReadLine();显示它是一个不带参数的方法,而()没有nomi.Length,因为它是(),而不是property

您的阵列也需要是静态的。

method

为了澄清,在声明变量时,并不总是需要使用static string[] nomi = new string[7]; static string[] cognomi = new string[7]; 。你需要它的原因是因为你是在静态方法(static)内调用它们。

编辑 - 如评论中所述,这假设变量在static void Main(string[] args)方法之外被解析,导致错误Main。如果不是,则这些变量不必是静态的。

答案 2 :(得分:0)

你的for循环没有任何意义for (i = 0; i = 6; i++)

语法为for (initialization, condition, iteration)

现在你的条件是一项任务,所以它总是如此。我想你希望它是for (i = 0; i **<** 6; i++)

答案 3 :(得分:0)

在编写for循环时,你应该总是在for循环声明的范围内创建一个int变量

示例:

for (int i = 0; i < 10; i++)
{
    body code goes here
}

应该声明整数并在循环范围内消失。

希望有所帮助

答案 4 :(得分:0)

我更正了您的forConsole.WriteLine语法,使您的代码更具可读性。这应该能够指导你。

const int length = 7;
string[] nomi = new string[length];
string[] cognomi = new string[length];

for (int i = 0; i < length; i++)
{
    Console.WriteLine("Inserisci il {0} ° nome", i + 1);
    nomi[i] = (Console.ReadLine());
}

for (int i = 0; i < length; i++)
{
    Console.WriteLine("Inserisci il {0} ° cognome", i + 1);
    cognomi[i] = (Console.ReadLine());
}

for (int i = 0; i < length; i++)
{
    Console.WriteLine("nomi: {0} cogomi: {1}", nomi[i], cognomi[i]);
}