Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我能';我不能修改我的代码。CS0120错误 class-mat{ int i,j,m,n; int[,]a=新的int[20,20]; 公共静态整型左(整型m,整型n) { int d=0,i,j; 如果(m==n) { 对于(i=1;i_C# - Fatal编程技术网

C# 我能';我不能修改我的代码。CS0120错误 class-mat{ int i,j,m,n; int[,]a=新的int[20,20]; 公共静态整型左(整型m,整型n) { int d=0,i,j; 如果(m==n) { 对于(i=1;i

C# 我能';我不能修改我的代码。CS0120错误 class-mat{ int i,j,m,n; int[,]a=新的int[20,20]; 公共静态整型左(整型m,整型n) { int d=0,i,j; 如果(m==n) { 对于(i=1;i,c#,C#,在你的函数中,左(m,n) 如果m!=n,则没有返回语句。我认为问题在于您在此行中遇到了CS0120错误(非静态字段、方法或属性“成员”需要对象引用): class mat int i, j, m, n; int[,] a = new int[20, 20]; public void get() { Console.WriteLine("Enter Row Value"); m = int.Parse(Console.ReadLine()); Console.WriteL

在你的函数中,左(m,n)


如果m!=n,则没有返回语句。我认为问题在于您在此行中遇到了CS0120错误(非静态字段、方法或属性“成员”需要对象引用):

class mat
int i, j, m, n;
int[,] a = new int[20, 20];
public void get()
{
    Console.WriteLine("Enter Row Value");
    m = int.Parse(Console.ReadLine());
    Console.WriteLine("Enter Column Value");
    n = int.Parse(Console.ReadLine());
    Console.WriteLine("Enter Elements one by one");
    for (i = 1; i <= m; i++)
    {
        for (j = 1; j <= n; j++)
        {
            a[i, j] = int.Parse(Console.ReadLine());
        }
    }
    Console.WriteLine("Given Matrix");
    for (i = 1; i <= m; i++)
    {
        for (j = 1; j <= n; j++)
        {
            Console.Write("\t{0}", a[i, j]);
        }
        Console.WriteLine();
    }
}
public void diagleft()
{
    int d = 0;

    if (m == n)
    {
        for (i = 1; i <= m; i++)
        {

            for (j = 1; j <= n; j++)
            {
                if (i == j)
                {
                    int value_1 = Math.Abs(a[i, j]);
                    d = d + value_1;
                }

            }
        }
        Console.WriteLine("Diagonal Sum from left side= {0}", d);
    }
    else
    {
        Console.WriteLine("Can't Perform Diagonal Sum from left side");
    }
}

public void diagright()
{
    int z = 0;
    if(m==n)
    {
        for (i = 1; i <= m; i++)
        {
            for(j=n; j >= 1; j--)
            {
                if(i+j==(m+1))
                {
                    int value_2 = Math.Abs(a[i, j]);
                    z = z + value_2;
                }
            }
        }
        Console.WriteLine("Diagonal Sum from right side= {0}", z);
    }
    else
    {
        Console.WriteLine("Can't perform diagonal sum from right side");
    }
}
class matsum
{
    static void Main(string[] args)
    {
        mat ma = new mat();
        ma.get();
        ma.diagleft();
        ma.diagright();
        Console.Read();
    }
}
这是因为“int[,]a”声明需要是静态的,如下所示:

int value_1 = Math.Abs(a[i, j]);
由于Diagleft方法是静态的,它只能访问类的静态成员。它将无法访问实例变量


顺便说一句,您的Diagleft方法也不会在所有代码路径上返回值。此外,如果本地方法变量和类的私有成员变量使用相同的名称,即i和j变量,则会造成混淆。

请提供错误消息的全文,并告诉我们从何处获得它。请不要让我们查找错误消息CS01(0?)20错误消息是。我们没有将它们全部记住。代码如何正常工作,但您声明它会抛出错误。我建议首先使用调试器。此外,如果您被卡住并且不理解您的家庭作业,请与您的教授预约“因此,我的代码被忽略。我正在尝试按需要生成此代码。但我无法实现。以下是被忽略的第一个代码。尽管它工作正常:“--您能澄清一下这些备注吗?谁忽略了代码?您需要仔细阅读
void
的含义,以及
return
在代码块内的含义与调用方法时返回类型的含义。”。。
int value_1 = Math.Abs(a[i, j]);
static int[,] a = new int[20, 20];