zoukankan      html  css  js  c++  java
  • 【C#食谱】【面食】菜单1: 何时何地使用泛型

    问题

    你想在一个新的项目中使用,或在现有的项目上把非泛型的类型转换成它们的泛型表示。但是,你却不知道自己为什么想这样做,并且你也不知道哪些非泛型类型应该被转换成它们的泛型表示。

    解决方法

    决定何时何地使用泛型,你需要考虑以下几件事:

    l         你的类型将包含或者以多种不确定的数据类型来运行吗?如果是这样,那么创建一个泛型将比创建一个非泛型提供很多好处。如果你的类型将只以一种确定的类型运行,那么你就没必要去创建一个泛型了。

    l         如果你的类型是值类型,那么就会发生装箱和拆箱操作,你应该考虑使用泛型去避免这些操作。

    l         跟泛型关联的强类型检查会导致很快就检查到错误(比如在编译时,而不是在运行时),因此,缩短你的纠错周期。

    l         随着你要写好几个类去处理不同的数据类型的运行(比如一个ArrayList只保存StreamReaders,而另一个则只保存StreamWriters),你的代码是否受到“臃肿”的困扰?泛型很容易做到只写一次代码,就可以实现运行每种类型进行工作。

    l         泛型会得到非常清晰的代码。去除代码的臃肿,对你的类型强制使用强类型检查,你的代码会更容易阅读和理解。

    讨论

    在大部分情况,你的代码都是适合使用泛型的。泛型会产生更高的代码重用,更好的性能,强类型检查和易读的代码。

    汇聚杭州外卖:外卖汇
  • 相关阅读:
    Office 2003正版验证破解方法
    QQ邮箱 503 : HTTP Error 503 服务暂时不可用,请刷新重试
    再加几个MQL4 中的字符串处理函数
    C 处理可变参数函数 (二)
    Memcache 中实现消息队列
    提供MQL4 中比较实用的两个字符串处理函数
    在freebsd 上编译 pango with cairo
    C语言小技巧(1) 实现可变参数
    PHP 中的递归效率
    windows 下php 扩展 的好 资源
  • 原文地址:https://www.cnblogs.com/adaiye/p/1055319.html
Copyright © 2011-2022 走看看