Generic 泛型
Generic Collection | Non-Generic Collection |
---|---|
using System.Collections.Generic | using System.Collections |
List |
ArrayList, Hashtable, Stack, Queue |
<T>
裡面可以放型別(e.g:int、string、decimal、...等)
或class的名稱
或Interface的名稱
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Remoting.Messaging;
using System.Text;
using System.Threading.Tasks;
namespace GenericDemo
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("****** GenericStringList ******");
List<string> GenericStrings = new List<string>();
GenericStrings.Add("1");
GenericStrings.Add("2");
GenericStrings.Add("3");
for (int i = 0; i < GenericStrings.Count; i++)
{
Console.WriteLine(GenericStrings[i]);
}
Console.WriteLine("****** GenericIntList ******");
List<int> GenericInts = new List<int>();
GenericInts.Add(4);
GenericInts.Add(5);
GenericInts.Add(6);
for (int i = 0; i < GenericInts.Count; i++)
{
Console.WriteLine(GenericInts[i]);
}
Console.WriteLine("****** GenericFunction ******");
Calc(2, 5);
Calc<int>(4, 6);
Console.ReadLine();
}
public static void Calc<T>(T para1, T pars2)
{
#region 方法一
//object a = para1;
//object b = pars2;
//Console.WriteLine((int)a + (int)b);
#endregion
#region 方法二
Console.WriteLine(Convert.ToInt32(para1) + Convert.ToInt32(pars2));
#endregion
}
}
}