0

我知道如何传递数组中的值列表

   int[] unit = new int[] {1,-3,3,4};
        string[] letter_grade = new string[] {"a+","B","c","W"};
        double totalGPA;
        GPA get = new GPA();
        get.getgpa(unit, letter_grade ,out totalGPA);

但我想知道如何使用结构传递它我可以发送单个值但不知道如何发送值列表

         double totalGPA;
        GPA get = new GPA();
        GPAList[] Val = new GPAList[1];
        Val[0].grade ="d";
        Val[0].unitgrade = 4;
        get.getgpa(Val[0], out totalGPA);
4

2 回答 2

1

您只需将结构数组传递Val给 getgpa:

get.getgpa(Val, out totalGPA);

然后getgpa应该接受一个 GPA 结构数组:

void getgpa(GPA[] gpas, out double totalGPA)
于 2012-08-09T16:31:35.977 回答
0

据我了解您的问题,您想使用 struct 传递一组值。

结构不用于存储集合,对于集合,我们在 c# 中有数组、arraylist、hashtable 等。

结构的目的是将完整的信息表示为单个数据类型。结构只是轻量级的类,它们不能用于集合。

如果您想使用结构来存储值的集合,那么您将不得不再次创建结构数组。

如果你想传递一个结构的数组,那么在形式参数列表中,你应该期望该结构本身的数组,例如。

**get.getgpa(Val, out totalGPA);**

要使上述代码正常工作,getgpa 函数的签名应为:

**getgpa(GPA[] arr,out double totalGPA)**

希望这可以帮助。

于 2012-08-09T16:40:04.280 回答