函數的參數不同叫多態,函數的參數類型可以不確定嗎?
函數的返回值只能是一個嗎?函數的返回值可以不確定嗎?
泛型是一種特殊的類型,它把指定類型的工作推遲到客戶端代碼聲明並實例化類或方法的時候進行。
下面是兩個經典示例:
1.輸入一個字符串,轉化為想要的類型。
利用泛型的特性,返回值可以是指定的類型。
2.比較兩個對象,返回值較大的一個。
using System;
using System.Collections.Generic;
using System.Text;
namespace FamilyManage
{
class CGeneric
{
//數據轉換
static public T Convert<T>(string s) where T : IConvertible
{
return (T)System.Convert.ChangeType(s, typeof(T));
}
//取兩個數較大的一個
static public T Max<T>(T first, T second) where T : IComparable<T>
{
if (first.CompareTo(second) > 0)
return first;
return second;
}
//使用
static public void test()
{
//
int iMax = Max(123, 456);
double dMax = Max<double>(1.23, 4.56);//可以指定返回類型
//
int iConvert = Convert<int>("123456");
float fConvert = Convert<float>("123.456");
//
System.Windows.Forms.MessageBox.Show(iMax + "|" + dMax + "|" + iConvert + "|" + fConvert);
}
}
}