C#中字段与属性性能比较

标签:
it |
分类: ASP.NET |
http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gifCode
public class TestFeildProperty
{
static readonly int _RunTime = 10000000;
public static void UseField()
{
DateTime begin = DateTime.Now;
int milliSecondBegin = DateTime.Now.Millisecond;
for ( int i = 0; i < _RunTime; i ++)
{
_TestField = 1;
}
DateTime end = DateTime.Now;
TimeSpan result = end - begin;
Console.WriteLine(result.ToString());
}
public static void UseProperty()
{
DateTime begin = DateTime.Now;
int milliSecondBegin = DateTime.Now.Millisecond;
for ( int i = 0; i < _RunTime; i ++)
{
TestField = 1;
}
DateTime end = DateTime.Now;
TimeSpan result = end - begin;
Console.WriteLine(result.ToString());
}
static int _TestField;
static int TestField
{
set { _TestField = value; }
http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gifCode
class Program
{
static void Main( string[] args)
{
TestFeildProperty.UseField();
TestFeildProperty.UseProperty();
测试结果
表1 | 循环赋值 | |
|
一千万次 | 一亿次 |
字段 | 0.03125秒 |
0.3125秒 |
属性 | 1.702315秒 | 17.140625秒 |
表2 | 循环读取 | |
|
一千万次 | 一亿次 |
字段 | 0.03125秒 |
0.2825秒 |
属性 | 0.09375秒 | 0.984375秒 |