Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.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#_C#_Arrays_Constructor - Fatal编程技术网

如何将数组值设置为构造函数c#

如何将数组值设置为构造函数c#,c#,arrays,constructor,C#,Arrays,Constructor,我让程序运行了,伙计们,非常感谢。我刚刚删除了所有内容,从头开始!现在我在以下方面遇到了问题: //构造器 public Grade ( string cname , int Studentident , int [] homework , int [] classwork , int [] midexam , int [] finalexam) { coursename = cname ; Studentid = Studentident ; hwgrad

我让程序运行了,伙计们,非常感谢。我刚刚删除了所有内容,从头开始!现在我在以下方面遇到了问题:

//构造器

public Grade ( string cname , int Studentident , int [] homework , int [] classwork ,      int [] midexam , int [] finalexam)
{
    coursename = cname ;
    Studentid = Studentident ;  
    hwgrade = homework ;
    cwgrade = classwork ;
    midegrade = midexam ;
    finalegrade = finalexam ;
} 
//正在尝试设置值

Grade grade = new Grade('m',1,1,1,1,1);
这给了我一个错误,无法从int转换为int[]

您必须传入数组,而不是单个值:

Grade grade = new Grade('m',
                        new int[] {1}, 
                        new int[] {1}, 
                        new int[] {1}, 
                        new int[] {1}, 
                        new int[] {1});
毕竟,
int
int[]
不同

以上假设您的字段(如
hwgrade
)声明为
int[]
,而不是
int

如果情况并非如此,并且字段实际上是整数而不是整数数组,则需要将方法签名更改为采用整数而不是数组:

public Grade(string cname, 
             int Studentident, 
             int homework, 
             int classwork,
             int midexam,
             int finalexam)
必须传入数组,而不是单个值:

Grade grade = new Grade('m',
                        new int[] {1}, 
                        new int[] {1}, 
                        new int[] {1}, 
                        new int[] {1}, 
                        new int[] {1});
毕竟,
int
int[]
不同

以上假设您的字段(如
hwgrade
)声明为
int[]
,而不是
int

如果情况并非如此,并且字段实际上是整数而不是整数数组,则需要将方法签名更改为采用整数而不是数组:

public Grade(string cname, 
             int Studentident, 
             int homework, 
             int classwork,
             int midexam,
             int finalexam)

如果希望使用int而不是int数组,可以用以下代码替换-delete[]

Grade ( string cname , int Studentident , int homework , int classwork ,      int midexam , int  finalexam)
{
  ...
}

或者使用
新建int[]{1}
创建数组,并传入参数

如果希望使用int而不是int数组,可以使用此代码替换-delete[]

Grade ( string cname , int Studentident , int homework , int classwork ,      int midexam , int  finalexam)
{
  ...
}

或者使用
newint[]{1}
创建数组并传入参数

您想要接受什么?您是否需要一个整数数组用于
家庭作业
课堂作业
期中考试
,以及
期末考试
?如果您无法花15秒的时间来理解错误消息,你在C#不会玩得很开心……你应该通过查看错误信息来理解这些小错误……或者你应该试试谷歌,或者在这里期待下一票……你想要接受什么?您是否需要一个整数数组用于
家庭作业
课堂作业
期中考试
,以及
期末考试
?如果您无法花15秒的时间来理解错误消息,你在C#中不会玩得很开心…你应该通过查看错误消息来理解这些小错误..或者你应该试试google或者在这里期待downvote..它们实际上是整数数组。非常感谢你的方法让我摆脱了errors@Shane-很高兴我能帮上忙,但我不禁想知道,你现在是否明白了为什么会出现错误以及为什么我的答案会有帮助……在很大程度上,我知道int与int数组是不同的。由于我将其中一些声明为int数组,因此必须使用正确的语法来为它们设置值。但我的主要目标是通过用户输入数组(Console.ReadLine())来获得更多的值,但我不确定这是否可能再次验证,这是令人兴奋的,仍然在试图理解为什么只在一个简单的输入成员上使用构造函数function@Shane-使用构造函数可以将初始化逻辑放在一个位置。它们实际上是整数数组。非常感谢你的方法让我摆脱了errors@Shane-很高兴我能帮上忙,但我不禁想知道,你现在是否明白了为什么会出现错误以及为什么我的答案会有帮助……在很大程度上,我知道int与int数组是不同的。由于我将其中一些声明为int数组,因此必须使用正确的语法来为它们设置值。但我的主要目标是通过用户输入数组(Console.ReadLine())来获得更多的值,但我不确定这是否可能再次验证,这是令人兴奋的,仍然在试图理解为什么只在一个简单的输入成员上使用构造函数function@Shane-使用构造函数可以将初始化逻辑放在一个位置。