【问题标题】:how to pass a list of values in struct in c#如何在c#中传递struct中的值列表
【发布时间】:2012-08-09 16:22:01
【问题描述】:

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

   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);

【问题讨论】:

  • 我不明白你的问题是什么。我认为您要问的是如何创建结构数组并传递该数组,或者可能是结构的链表?

标签: c# asp.net arrays struct


【解决方案1】:

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

get.getgpa(Val, out totalGPA);

那么getgpa 应该接受一个 GPA 结构数组:

void getgpa(GPA[] gpas, out double totalGPA)

【讨论】:

    【解决方案2】:

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

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

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

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

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

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

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

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-25
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      • 2021-11-02
      • 1970-01-01
      • 1970-01-01
      • 2016-08-10
      相关资源
      最近更新 更多