日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

泛型(CSDN转载)

發(fā)布時間:2023/12/1 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 泛型(CSDN转载) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

函數(shù)的參數(shù)不同叫多態(tài),函數(shù)的參數(shù)類型可以不確定嗎?

函數(shù)的返回值只能是一個嗎?函數(shù)的返回值可以不確定嗎?

泛型是一種特殊的類型,它把指定類型的工作推遲到客戶端代碼聲明并實例化類或方法的時候進行。

下面是兩個經(jīng)典示例:

?

1.輸入一個字符串,轉(zhuǎn)化為想要的類型。

利用泛型的特性,返回值可以是指定的類型。

2.比較兩個對象,返回值較大的一個。

using System;

using System.Collections.Generic;

using System.Text;

?

namespace FamilyManage

{

??? class CGeneric

??? {

??????? //數(shù)據(jù)轉(zhuǎn)換

??????? static public T Convert<T>(string s) where T : IConvertible

??????? {

??????????? return (T)System.Convert.ChangeType(s, typeof(T));

??????? }

??????? //取兩個數(shù)較大的一個

??????? 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);

??????? }

??? }

}

?

  System.Convert.ChangeType(s, typeof(T));這個函數(shù),在以往的項目中用的比較少,用的最多的還是Convert.ToInt()和Convert.ToDouble()。一般多是把一個字符串轉(zhuǎn)化需要的整型數(shù)據(jù)或者浮點型數(shù)據(jù)。例如:

  

string intString="123";int result=System.Convert.ToInt32(intString);Console.WriteLine(result); //輸出123

?

  也有用Int類或者Double類的Parse或者TryParse函數(shù)進行轉(zhuǎn)化的,在此不在舉例。把注意力拉回到System.Convert.ChangeType(s, typeof(T));這個函數(shù)。

  ChangeType:返回一個指定類型的對象,該對象的值等效于指定的對象。此方法有四種函數(shù)重載。如下面的表格所示:

?

double d = -2.345;int i = (int)Convert.ChangeType(d, typeof(int));Console.WriteLine("The double value {0} when converted to an int becomes {1}", d, i);string s = "12/12/98";DateTime dt = (DateTime)Convert.ChangeType(s, typeof(DateTime));Console.WriteLine("The string value {0} when converted to a Date becomes {1}", s, dt);

  

                                          想要了解更多請參看MSDN的Convert類。

?

轉(zhuǎn)載于:https://www.cnblogs.com/zhangyuanbo12358/p/3612069.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的泛型(CSDN转载)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。