[英]Using Generics C#
我是C#的新手,正想了解一下泛型。 我嘗試這個簡單的類:
using System;
using System.Collections.Generic;
public class Program<T>
{
public static void Main()
{
List<T> list = new List<T>();
}
}
但是當我運行代碼時,出現錯誤:
無法對
ContainsGenericParameters
為true的類型或方法執行后期綁定操作。
我想念什么?
正如人們已經在注釋中提到的那樣,您的代碼無法編譯,但是您的問題是關於泛型(列表)的基礎知識,我將盡力回答。
List<T>
意味着您需要傳遞一個類型參數來“說明”列表將包含的項目類型。 所以你可以輸入
List<string>
創建一個字符串列表。 當然,您可以使用自己的類,例如
List<MyClass>
創建MyClass對象的列表。
您不能使包含入口點( Main()
方法)的類通用(通過將<T>
附加到Program
類來完成)。 但這不是必須的。 如果要使用List<T>
類的泛型類,您要做的就是指定要用於其具體實現的類型。
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
List<int> list = new List<int>(); // List<T>'s generic parameter T was set to int
list.Add(5); // 5 is of type int
}
}
這很好。 您還可以構建自己的泛型類,其泛型參數又可以用作其他泛型類型的參數:
class MyGenericClass<A>
{
public void Example()
{
List<A> list = new List<A>(); // List<T>'s generic parameter T was set to whatever A is
list.Add(default(A)); // default(A) is some default value of type A
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.