C#用泛型,使程序更灵活,也更省性能
先声明,我不是这方面的专家,只是干软件四个月不知天有多高地有多硬的小孩子
首先,类型转换是有一定开销的
我试过这样的代码:这是一个控制台应用程序的Program类的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 类型转换的开销
{
class Program
{
static void Main(string[] args)
{
DateTime now = DateTime.Now;
for (int i = 0; i < 10000000; i++)
{
I a = new A();
((A)a).M();
}
Console.WriteLine(DateTime.Now - now);
now = DateTime.Now;
for (int i = 0; i < 10000000; i++)
{
A a = new A();
a.M();
}
Console.WriteLine(DateTime.Now - now);
}
}
interface I
{
string M();
}
class A : I
{
public string M()
{
return "MA";
}
}
class B : I
{
public string M()
{
return "MB";
}
}
}
运行的结果是这样:
00:00:00.3125000
00:00:00.2187500
请按任意键继续. . .
一亿次,就要多用0.1秒钟
我的机子是 CPU 2.7GHz双核, 2G内存
所以,为了这么细小的东西,我平时写代码,也尽量省得就省。
泛型我用得很多,不过都没有深入去学。不过最近在研究过,泛型都可以实例化,这给编程带来很大的方便。
同样试试下面的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 类型转换的开销
{
class Program
{
static void Main(string[] args)
{
A<B> a = new A<B>();
DateTime now = DateTime.Now;
for (int i = 0; i < 1000000; i++)
{
a.M().M();
}
Console.WriteLine("用了泛型的时间:" + (DateTime.Now - now));
now = DateTime.Now;
for (int i = 0; i < 1000000; i++)
{
相关文档:
上篇文章中说到什么是 Cache对象,如何在ASP.NET中使用 Cache对象。下面我们来说说如何在ASP.NET中删除项。
ASP.NET Cache 对象设计用于保证它并不使用过多的服务器内存。结果是,当用内存变得缺乏时,Cache对象自动删除最少被使用的项。你可以通过定义时间限制、依赖项、以及项
在Cache对象中的优先级来影响 Cache对象保 ......
1 using System;
2 using System.Collections;
3 using System.Configuration;
4 using System.Data;
5 using System.Linq;
6 using System.Web;
7 using System.Web.Security;
8 using&nbs ......
由于项目需要,用到其他项目组用VC开发的组件,在web后台代码无法访问这个组件,所以只好通过后台调用前台的javascript,从而操作这个组件。在网上找了找,发现有三种方法可以访问到前台代码:
第一种,OnClientClick (vs2003不支持这个方法)
<asp:Button ID="Button1" runat="se ......
一.类与结构的示例比较:
结构示例:
public struct Person
{
string Name;
int height;
int weight
public bool overWeight()
{
//implement something
}
}
类示例:
public class TestTime
{
int hours;
int minutes;
int seconds;
public void passtime()
{
//implementation ......