C#泛型学习

泛型是泛+型,目的是为了节省代码的重复,可以复用代码。

场景:

定义了两个方法(函数)

public int DisplayMyInteger(int myInt)

{

return myInt;

}

 

public string DisplayMyString(string myStr)

{

return myStr;

}

上面如果最终调用函数

DisplayMyInteger(2.5),就会报错,原因就是2.5并不是整型int

所以现在的思路就是要把这两个方法做成通用型。是除了 int,string的变量类型之外,函数结构和样子都几乎一样。所以发明了"泛型"

英文单词Generic Programming,查看百度翻译:

 

using System;

 

namespace GenericDemo

{

class GenericClassDemo<T>

{

public T Display(T value)

{

return value;

}

}

class Program

{

static void Main(string[] args)

{

GenericClassDemo<int> a = new GenericClassDemo<int>();

Console.WriteLine($"{a.Display(10086)}");

GenericClassDemo<string> b = new GenericClassDemo<string>();

Console.WriteLine($"{b.Display("I love China!")}");

GenericClassDemo<double> c = new GenericClassDemo<double>();

Console.WriteLine($"{c.Display(Math.PI)}");

}

}

}

场景:

using System;

using System.Collections;

 

namespace NonGenericDemo

{

class Program

{

static void Main(string[] args)

{

ArrayList myList = new ArrayList();

myList.Add(1);

myList.Add(2);

myList.Add("I love China!");

foreach (int a in myList)

{

Console.WriteLine((int)a);

}

Console.ReadKey();

}

}

}

 

 

原文地址:https://www.cnblogs.com/ifconfig/p/13304889.html