C #의 함수에서 동적으로 목록을 만드는 방법

Junipella

c로 작성된 코드가 있습니다. main에 int에 대한 포인터가 있고 함수에 전달합니다. 이 함수는 메모리를 할당하고 배열을 채운 다음 반환합니다. 기본적으로 다음과 같습니다.

main()
{
  int* array;
  function(&array);
}

void function(int** array)
{
  int size = 25;
  *array = malloc(size);
  (*array)[0] = 42;
}

크기는 메인으로 알려져 있지 않습니다. C #에서 어떻게합니까? List로 시도했지만 작동하지 않습니다. 나는 List와 ref List를 모두 시도했으며 둘 다 Index가 범위를 벗어났습니다.

편집하다:

이것은 잘 작동합니다

class Program
{
    static void function(List<int> array)
    {
        array.Add(42);
    }

    static void Main(string[] args)
    {
        List<int> array = new List<int>();
        function(array);
    }
}

그리고 이것도

class Program
{
    static void function(out int[] array)
    {
        array = new int[25];
        array[0] = 42;
    }

    static void Main(string[] args)
    {
        int[] array;
        function(out array);
    }
}

그러나 다음은 예외를 throw합니다.

class Program
{
    static void function(out List<int> array)
    {
        array = new List<int>(25);
        array[0] = 42;
    }

    static void Main(string[] args)
    {
        List<int> array;
        function(out array);
    }
}
존 알렉시 우

에는 이러한 목적으로 ref 키워드가 있습니다. 어쨌든 배열이 참조 유형이므로이 경우에는 필요하지 않지만 설계 의도를 전달하기 때문에 좋은 생각입니다. 함수에 대한 인수로 out 키워드 를 사용하는 것이 더 좋습니다 . 호출 전에 초기화 할 필요가 없습니다.

이 시도:

class Program
{
    static void Main(string[] args)
    {
        int[] a;
        function(out a);
        Debug.WriteLine(a.Length);
    }

    public static void function(out int[] array)
    {
        array=new int[25];
        array[0]=42;
    }
}

편집 1- 배열을 반환하는 다른 방법

class Program
{
    static void Main(string[] args)
    {
        int[] a = CreateArray();
        Debug.WriteLine(a.Length);
    }

    public static int[] CreateArray() 
    {
        int[] array=new int[25];
        array[0]=42;
        return array;
    }
}

편집 2- 두 개의 출력 매개 변수가있는

class Program
{
    static void Main(string[] args)
    {
        int[] akw, zuk;
        function(out akw, out zuk);
        Debug.WriteLine(akw.Length);
        Debug.WriteLine(zuk.Length);
    }

    public static void function(out int[] A, out int[] B) 
    {
        A=new int[25];
        B=new int[15];
        A[0]=42;
        B[0]=21;
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

런타임에서 함수 C #을 동적으로 재정의하는 방법

분류에서Dev

R에서 다양한 수의 목록으로 목록을 만드는 방법

분류에서Dev

C에서 행렬을 동적으로 정의하는 방법

분류에서Dev

함수 매개 변수 값을 기반으로 C ++에서 함수의 반환 유형을 동적으로 변경하는 방법이 있습니까?

분류에서Dev

함수 인수에서 열을 동적으로 만드는 방법

분류에서Dev

값 목록을 변수로 분할하는 방법과 postgreSQL의 for each 루프에서 삽입 함수가 작동하도록 만드는 방법

분류에서Dev

값 목록을 변수로 분할하는 방법과 postgreSQL의 for each 루프에서 삽입 함수가 작동하도록 만드는 방법

분류에서Dev

iOS에서 효율적으로 목록을 만드는 방법

분류에서Dev

iOS에서 효율적으로 목록을 만드는 방법

분류에서Dev

목록에서 n 개 이상의 순차적으로 반복되는 항목 그룹을 찾는 방법 C #

분류에서Dev

Scala Spark의 dataFrame에서 동적으로 만든 목록을 유지하는 방법

분류에서Dev

C / C ++에서 함수 호출간에 변수 값을 영구적으로 만드는 방법

분류에서Dev

C #에서 MathNet으로 함수의 값을 찾는 방법

분류에서Dev

JavaFX의 목록보기에서 항목의 배경을 동적으로 변경하는 방법

분류에서Dev

C #에서 단일 연결 목록을 제네릭으로 만드는 방법

분류에서Dev

C #에서 3 개의 열로 목록을 만드는 방법은 무엇입니까?

분류에서Dev

C #에서 클래스 개체 목록의 배열을 만드는 방법

분류에서Dev

OpenCV 함수 polylines ()를 C ++의 목록에 적용하는 방법

분류에서Dev

Android에서 ListView의 목록 항목을 동적으로 변경하는 방법은 무엇입니까?

분류에서Dev

파이썬의 목록 목록에서 문자열로 숫자 목록을 만드는 방법

분류에서Dev

Python에서 임의의 수의 임의의 정수로 목록을 만드는 방법

분류에서Dev

Excel에서 동적 드롭 목록을 만드는 방법

분류에서Dev

C #에서 선택된 목록 상자의 이름을 동적으로 지정하는 방법은 무엇입니까?

분류에서Dev

C #의 값을 기반으로 목록을 함께 조인하는 방법

분류에서Dev

R에서 목록의 요소로 행렬을 동적으로 나열하는 방법

분류에서Dev

벡터의 정보로 data.frames 목록에서 colname을 동적으로 보완하는 방법

분류에서Dev

열거 형 플래그의 동적 목록을 만든 다음 다른 메서드로 전달하는 방법

분류에서Dev

Python에서 2D 목록의 적절한 사본을 만드는 방법

분류에서Dev

목적 C에서 영숫자의 정규식을 만드는 방법

Related 관련 기사

  1. 1

    런타임에서 함수 C #을 동적으로 재정의하는 방법

  2. 2

    R에서 다양한 수의 목록으로 목록을 만드는 방법

  3. 3

    C에서 행렬을 동적으로 정의하는 방법

  4. 4

    함수 매개 변수 값을 기반으로 C ++에서 함수의 반환 유형을 동적으로 변경하는 방법이 있습니까?

  5. 5

    함수 인수에서 열을 동적으로 만드는 방법

  6. 6

    값 목록을 변수로 분할하는 방법과 postgreSQL의 for each 루프에서 삽입 함수가 작동하도록 만드는 방법

  7. 7

    값 목록을 변수로 분할하는 방법과 postgreSQL의 for each 루프에서 삽입 함수가 작동하도록 만드는 방법

  8. 8

    iOS에서 효율적으로 목록을 만드는 방법

  9. 9

    iOS에서 효율적으로 목록을 만드는 방법

  10. 10

    목록에서 n 개 이상의 순차적으로 반복되는 항목 그룹을 찾는 방법 C #

  11. 11

    Scala Spark의 dataFrame에서 동적으로 만든 목록을 유지하는 방법

  12. 12

    C / C ++에서 함수 호출간에 변수 값을 영구적으로 만드는 방법

  13. 13

    C #에서 MathNet으로 함수의 값을 찾는 방법

  14. 14

    JavaFX의 목록보기에서 항목의 배경을 동적으로 변경하는 방법

  15. 15

    C #에서 단일 연결 목록을 제네릭으로 만드는 방법

  16. 16

    C #에서 3 개의 열로 목록을 만드는 방법은 무엇입니까?

  17. 17

    C #에서 클래스 개체 목록의 배열을 만드는 방법

  18. 18

    OpenCV 함수 polylines ()를 C ++의 목록에 적용하는 방법

  19. 19

    Android에서 ListView의 목록 항목을 동적으로 변경하는 방법은 무엇입니까?

  20. 20

    파이썬의 목록 목록에서 문자열로 숫자 목록을 만드는 방법

  21. 21

    Python에서 임의의 수의 임의의 정수로 목록을 만드는 방법

  22. 22

    Excel에서 동적 드롭 목록을 만드는 방법

  23. 23

    C #에서 선택된 목록 상자의 이름을 동적으로 지정하는 방법은 무엇입니까?

  24. 24

    C #의 값을 기반으로 목록을 함께 조인하는 방법

  25. 25

    R에서 목록의 요소로 행렬을 동적으로 나열하는 방법

  26. 26

    벡터의 정보로 data.frames 목록에서 colname을 동적으로 보완하는 방법

  27. 27

    열거 형 플래그의 동적 목록을 만든 다음 다른 메서드로 전달하는 방법

  28. 28

    Python에서 2D 목록의 적절한 사본을 만드는 방법

  29. 29

    목적 C에서 영숫자의 정규식을 만드는 방법

뜨겁다태그

보관