C#编程错误 - 表达式表示“类型”,其中需要“变量”,“值”或“方法组”

时间:2017-10-30 23:37:14

标签: c#

这是我的代码。我遇到了这个反复出现的错误,我不知道接下来要做什么。当我学习如何编码时,任何指导方向的指导都会很棒。错误消息如下所示。

  

错误 CS0119:表达式表示“类型”,其中预期有“变量”,“值”或“方法组”

using System;
using System.Collections.Generic;
using System.Data.Odbc;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Console;

namespace Kata
{
    public static class PascalsTriangle
    {
        new public static void Main()
        {
            int no_row, c = 1, blk, i, j;

            Console.Write("\n\n");
            Console.Write("Display the Pascal's triangle:\n");
            Console.Write("--------------------------------");
            Console.Write("\n\n");

            Console.Write("Input number of rows: ");
            no_row = Convert.ToInt32(Console.ReadLine());

            for (i = 0; i < no_row; i++)
            {
                for (blk = 1; blk <= no_row - i; blk++) ;

                Console.Write("  ");

                for (j = 0; j <= i; j++)
                {
                    if (j == 0 || i == 0)
                        c = 1;
                    else
                        c = c * (i - j + 1) / j;

                    Console.Write("{0}   ", c);
                }

                Console.Write("\n");
            }
        }
    }
}

1 个答案:

答案 0 :(得分:6)

删除此行:

using static System.Console;

这一行利用了直到c#6才引入的语法(参见this article)。如果您希望使用WriteLineReadLine而不指定其所属的类,则只需要包含该行。既然你不是,你可以把它拿出来。

或者你可以针对c#6或Roslyn编译,你的代码编译得很好 - 见this Fiddle

我冒昧地删除了额外的;(参见AlphaDelta的注释),我可以让它渲染一个三角形。输出:

Display the Pascal's triangle:
--------------------------------

Input number of rows: 5
          1   
        1   1   
      1   2   1   
    1   3   3   1   
  1   4   6   4   1