C# 关于程序性能的几个问题
来源:百度知道 编辑:UC知道 时间:2024/05/05 13:16:57
大家帮忙看一下以下几种情况,哪一个性能高,执行效率快些?
1.返回一个类型的数组跟返回该类型的泛型;
2.DataSet, DataTable , DataReader三者比较
3.采用分层架构以后跟未分层的项目哪一个性能好些.
4.string a = ""; 与 string b = string.Empty;
henry_yu 说的很详细
谢谢各位的参与
1.返回一个类型的数组跟返回该类型的泛型;
2.DataSet, DataTable , DataReader三者比较
3.采用分层架构以后跟未分层的项目哪一个性能好些.
4.string a = ""; 与 string b = string.Empty;
henry_yu 说的很详细
谢谢各位的参与
1.返回一个类型的数组跟返回该类型的泛型
一般来说是泛型的性能要高,因为泛型可以避免类型的装箱与拆箱。但具体的还要看你的怎么使用你的类型的。
2、DataSet, DataTable , DataReader三者比较
DataReader最快,但其提供的功能也是最少的。建议不要太多使用DataSet,因为这东西太大了,最好使用Table.
3.采用分层架构以后跟未分层的项目哪一个性能好些.
将一个项目划分过多的层次对性能而言没有任何好处。但有时候项目的分层是必要的,因为一个项目在设计与制作的时候你不可能仅仅考虑它的性能,你还得考虑它的安全性、扩展性等。为了达到这些软件目标,你就得分层设计。
4string a = ""; 与 string b = string.Empty
string b = string.Empty的性能要高一些。string尽管被当作基元的值类型使用,但其实它是引用类型的,直接赋值为“”会导致一次内存分配。
1.数组(泛型需要可能需要装箱拆箱,对性能损害极大)
2.DataReader
3.小项目未分层性能好
4.没区别
1.返回一个类型的泛型
2.DataReader
3.未分层
4.string b = string.Empty
以上四点都是相对于性能而言比较快的
1.泛型
2.DataReader(只读不写)如果你只要输出数据,DataReader比较好,DataSet(可读可写,自动关闭),如果你要对他们进行操作DataSet比较好.
3.分层架构(条理清晰,调用明白)
4.格式化字符串不能和赋值相提并论
这个网上都有介绍啊