C # 메서드에서 제네릭 목록 작업

사용자 4284351

나는 제네릭을 가르치고 있었고 목록으로 시험 해보고 싶었지만 제 방법에 제네릭 목록을 "공급"하는 방법을 알아낼 수없는 문제에 어려움을 겪었습니다. 제 목록을 "먹는"일반적인 방법을 만드는 적절한 방법은 무엇입니까? :)

내 코드는 다음과 같습니다.

 class Program<AnyDataType>
{
    static void Main(string[] args)
    {
        jdtlist.Add("something");
        jdtlist.Add("something");
        jdtlist.Add("something");
        Console.WriteLine(countlist(jdtlist));
        Console.ReadKey();
    }
    static List<AnyDataType> jdtlist = new List<AnyDataType>();

    public static int countlist(List<AnyDataType> list) // Yes I know this is practically useless but thats not why I am here :)
    {
        int listcount = 0;
        for (int i = 0; i < list.Count; i++)
        {
            listcount++;
        }
        return listcount;
    }
Sergey Berezovskiy

일반 메소드를 작성하는 경우 일반 매개 변수가 있어야합니다.

public static int CountList<T>(List<T> list)
{
    int listcount = 0;

    for (int i = 0; i < list.Count; i++)        
        listcount++;

    return listcount;
}

그런 다음 일반 목록으로 호출 할 수 있습니다.

var list = new List<AnyDataType>();
// ..
Foo.CountList(list);

수업도 마찬가지입니다. 제네릭 유형으로 클래스를 매개 변수화하려면 제네릭 인수를 제공해야합니다.

public class Foo<T>

@DStanley가 말했듯이이 경우 개별 메서드를 매개 변수화 할 필요가 없습니다.

public class Foo<T>
{
    public static int CountList(List<T> list)
    {
        int listcount = 0;

        for (int i = 0; i < list.Count; i++)        
            listcount++;

        return listcount;
    } 
}

하지만 클래스를 매개 변수화해야합니다.

Foo<int>.CountList(list)

추천 문서 : Generics (C # 프로그래밍 가이드)

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

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

분류에서Dev

C # 목록 속성 Add 메서드 추가 작업

분류에서Dev

C # 제네릭 확장 메서드를 사용하여 컬렉션이 아닌 클래스에서 작동

분류에서Dev

C ++ : 제네릭 클래스의 비 제네릭 메서드?

분류에서Dev

C ++ : 제네릭 클래스의 비 제네릭 메서드?

분류에서Dev

C # 제네릭 메서드 선택

분류에서Dev

C # 제네릭 메서드 값

분류에서Dev

C #에서 C ++ 제네릭 메서드 호출

분류에서Dev

제네릭 메서드와 기본 메서드를 C #으로 작성하는 방법

분류에서Dev

C #에서 제네릭 메서드 호출

분류에서Dev

제네릭 메서드 C #에서 문자열 역 직렬화

분류에서Dev

C #에서 제네릭 메서드의 값을 얻는 방법

분류에서Dev

C # 제네릭 목록에 해당하는 Delphi는 무엇입니까?

분류에서Dev

목록 카드에서 선택한 항목에 관한 문제 (Google의 작업)

분류에서Dev

제네릭 및 비 제네릭 메서드 간의 C # 오버로드 해결

분류에서Dev

제네릭 목록 C # 유니티 내에서 두 값을 필터링하는 방법은 무엇입니까?

분류에서Dev

작업 목록을 slurm에 제출

분류에서Dev

C #의 제네릭 클래스가있는 제네릭 메서드

분류에서Dev

제네릭을 사용하는 목록에서 중복 제거

분류에서Dev

열거 형을 목록으로 캐스팅하는 EnumsNET 제네릭 메서드

분류에서Dev

C #에서 제네릭을 사용하여 데이터를 가져오고 업데이트하는 일반화 메서드

분류에서Dev

Newtonsoft.JSON을 사용하는 C #의 제네릭 메서드에서 DeserializeObject <T> (string s)가 작동하지 않습니다.

분류에서Dev

하나의 제네릭 (C #)에서 3 개의 메서드 변환

분류에서Dev

C # 메서드에서 제네릭 클래스 참조를 얻는 방법

분류에서Dev

제네릭 목록에서 패턴 일치

분류에서Dev

C ++ 오버로드 제네릭 메서드, 참조 및 값

분류에서Dev

코 틀린와 제네릭 클래스에 게터 (또는 메서드 나 속성) 목록 얻기

분류에서Dev

스윙-목록이 paintComponent 메소드 내에서 작동하지 않는 문제

분류에서Dev

작업 대리자 콜백에서 제네릭 유형 확인

Related 관련 기사

  1. 1

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

  2. 2

    C # 목록 속성 Add 메서드 추가 작업

  3. 3

    C # 제네릭 확장 메서드를 사용하여 컬렉션이 아닌 클래스에서 작동

  4. 4

    C ++ : 제네릭 클래스의 비 제네릭 메서드?

  5. 5

    C ++ : 제네릭 클래스의 비 제네릭 메서드?

  6. 6

    C # 제네릭 메서드 선택

  7. 7

    C # 제네릭 메서드 값

  8. 8

    C #에서 C ++ 제네릭 메서드 호출

  9. 9

    제네릭 메서드와 기본 메서드를 C #으로 작성하는 방법

  10. 10

    C #에서 제네릭 메서드 호출

  11. 11

    제네릭 메서드 C #에서 문자열 역 직렬화

  12. 12

    C #에서 제네릭 메서드의 값을 얻는 방법

  13. 13

    C # 제네릭 목록에 해당하는 Delphi는 무엇입니까?

  14. 14

    목록 카드에서 선택한 항목에 관한 문제 (Google의 작업)

  15. 15

    제네릭 및 비 제네릭 메서드 간의 C # 오버로드 해결

  16. 16

    제네릭 목록 C # 유니티 내에서 두 값을 필터링하는 방법은 무엇입니까?

  17. 17

    작업 목록을 slurm에 제출

  18. 18

    C #의 제네릭 클래스가있는 제네릭 메서드

  19. 19

    제네릭을 사용하는 목록에서 중복 제거

  20. 20

    열거 형을 목록으로 캐스팅하는 EnumsNET 제네릭 메서드

  21. 21

    C #에서 제네릭을 사용하여 데이터를 가져오고 업데이트하는 일반화 메서드

  22. 22

    Newtonsoft.JSON을 사용하는 C #의 제네릭 메서드에서 DeserializeObject <T> (string s)가 작동하지 않습니다.

  23. 23

    하나의 제네릭 (C #)에서 3 개의 메서드 변환

  24. 24

    C # 메서드에서 제네릭 클래스 참조를 얻는 방법

  25. 25

    제네릭 목록에서 패턴 일치

  26. 26

    C ++ 오버로드 제네릭 메서드, 참조 및 값

  27. 27

    코 틀린와 제네릭 클래스에 게터 (또는 메서드 나 속성) 목록 얻기

  28. 28

    스윙-목록이 paintComponent 메소드 내에서 작동하지 않는 문제

  29. 29

    작업 대리자 콜백에서 제네릭 유형 확인

뜨겁다태그

보관