C# 範型入門 1

gavinou發表於2006-10-23

//1.合法
class C<U,V> {}

//2.合法 -基類已經例項化
class D:C<string,int> {}

//3.合法 - 父類與子類同樣是範型,
class E<U,Y>:C<U,Y> 
{}

//4.合法
class F<U,Y>:C:<string,int> {}

//5.非法
class G:C<U,Y> {}

//父類的型別引數要麼已經例項化,要麼來源於子類

範型型別的成員

 

class C<V>
{
    pulbic V f1;
    
public D<V> f2;    //成為其他範型型別的引數
    public C(V x)
    
this.f1=x;}
}

 

    class Program
    
{
        
static void Main()
        
{
            
int[] arr = 01234 };
            List
<string > list = new List<string >();

            
for (int x = 5; x < 10; x++)
            
{
                list.Add(x.ToString ());
            }


            ProcessItems
<int>(arr);
            ProcessItems
<string >(list);
            Console.ReadLine();
        }


        
static void ProcessItems<T>(IList<T> coll)
        
{
            
foreach (T item in coll)
            
{
                System.Console.Write(item.ToString() 
+ " ");
            }

            System.Console.WriteLine();
        }

    }

 上面這段程式碼,雖然沒有實際意義,但是對理解泛型的基本應用是個好例子。

相關文章