当前位置:网站首页>C# 泛型及性能比较
C# 泛型及性能比较
2022-07-07 22:17:00 【太阳的后裔】
什么是泛型?通俗的说就是不确定的类型。
什么时候用到泛型?当我们想要使用一个方法接收多种不同的类型的参数的时候我们常常能够用到。
public static void Show()
{
Console.WriteLine("****************Monitor******************");
{
int iValue = 12345;
long commonSecond = 0;
long objectSecond = 0;
long genericSecond = 0;
{
Stopwatch watch = new Stopwatch();
watch.Start();
for (int i = 0; i < 100_000_000; i++)
{
ShowInt(iValue);
}
watch.Stop();
commonSecond = watch.ElapsedMilliseconds;
}
{
Stopwatch watch = new Stopwatch();
watch.Start();
for (int i = 0; i < 100_000_000; i++)
{
ShowObject(iValue);
}
watch.Stop();
objectSecond = watch.ElapsedMilliseconds;
}
{
Stopwatch watch = new Stopwatch();
watch.Start();
for (int i = 0; i < 100_000_000; i++)
{
Show<int>(iValue);
}
watch.Stop();
genericSecond = watch.ElapsedMilliseconds;
}
Console.WriteLine("commonSecond={0},objectSecond={1},genericSecond={2}"
, commonSecond, objectSecond, genericSecond);
}
}
#region PrivateMethod
private static void ShowInt(int iParameter)
{
//do nothing
}
private static void ShowObject(object oParameter)
{
//do nothing
}
private static void Show<T>(T tParameter)
{
//do nothing
}
#endregion
结果
也就是说普通方法的性能大于指定类型的泛型方法大于未指定类型的泛型方法
偶尔真的很羡慕,羡慕某些人可以过目不忘,可以举一反三,而我同一份资料往往都要看多次才能真正的看懂。
但幸运的是,很多东西真的靠努力是可以改变和得到的,多敲敲代码,自己的技术就会慢慢提高,多跑跑步,身材就会变的更好,多听听书,自己也能满腹经纶。
加油,周末,你要越来越好,这不用别人看得出来,但是自己一定要知道。
边栏推荐
- SQL knowledge summary 004: Postgres terminal command summary
- Redis caching tool class, worth owning~
- [programming questions] [scratch Level 2] March 2019 garbage classification
- [programming problem] [scratch Level 2] December 2019 flying birds
- 每日刷题记录 (十六)
- Automated testing: robot framework is a practical skill that 90% of people want to know
- 全自动化处理每月缺卡数据,输出缺卡人员信息
- Binder核心API
- Gorm Association summary
- C language learning
猜你喜欢
QT creator add JSON based Wizard
[basis of recommendation system] sampling and construction of positive and negative samples
About the difference between ch32 library function and STM32 library function
【编程题】【Scratch二级】2019.09 绘制雪花图案
Anaconda+pycharm+pyqt5 configuration problem: pyuic5 cannot be found exe
[leetcode] 20. Valid brackets
智慧监管入场,美团等互联网服务平台何去何从
Opengl3.3 mouse picking up objects
Set up personal network disk with nextcloud
C language 005: common examples
随机推荐
Data Lake (XV): spark and iceberg integrate write operations
[programming questions] [scratch Level 2] March 2019 garbage classification
用语雀写文章了,功能真心强大!
Relevant methods of sorting arrays in JS (if you want to understand arrays, it's enough to read this article)
DataGuard active / standby cleanup archive settings
Database interview questions + analysis
Using Google test in QT
35岁真就成了职业危机?不,我的技术在积累,我还越吃越香了
Handwriting a simulated reentrantlock
Traduction gratuite en un clic de plus de 300 pages de documents PDF
第四期SFO销毁,Starfish OS如何对SFO价值赋能?
备库一直有延迟,查看mrp为wait_for_log,重启mrp后为apply_log但过一会又wait_for_log
80%的人答错,苹果logo上的叶子到底朝左还是朝右?
腾讯安全发布《BOT管理白皮书》|解读BOT攻击,探索防护之道
一个测试工程师的7年感悟 ---- 致在一路独行的你(别放弃)
【编程题】【Scratch二级】2019.03 绘制方形螺旋
Postgres timestamp to human eye time string or millisecond value
Enterprise application demand-oriented development of human resources department, employee attendance records and paid wages business process cases
Automated testing: robot framework is a practical skill that 90% of people want to know
用語雀寫文章了,功能真心强大!