zoukankan      html  css  js  c++  java
  • 拒绝“高冷”词汇!初学C#中实用的泛型!

    初学C#,整天对着业务逻辑,写反反复复的“过程型”代码逻辑十分枯燥,不如用点新东西提升一下代码效率,让代码看起来更有逼格?!   好,下面我们看看C#中简单易学的泛型。   首先,我写了一个这样的方法 ---- Say(string spk),并在主函数中进行调用:   1 namespace TestCode   2 {   3 class Program   4 {   5 static void Main(string[] args)   6 {   7 Say("我饿了!");   8 }   9   10 public static void Say(string spk)   11 {   12 Console.WriteLine("我说:" + spk);   13 }   14 }   15 }   复制代码   如果,我说:123,则需要另一个方法 ---- Say(int spk),并在主函数中进行调用:   1 namespace TestCode   2 {   3 class Program   4 {   5 static void Main(string[] args)   6 {   7 Say("我饿了!");   8 Say(123);   9 }   10   11 public static void Say(string spk)   12 {   13 Console.WriteLine("我说:" + spk);   14 }   15   16 public static void Say(int spk)   17 {   18 Console.WriteLine("我说:" + spk);   19 }   20 }   21 }   复制代码   这样便完成了我的需求。你会发现,两个方法除了“形参”数据类型不同外,其他都一个样,这就是方法的“重载”。   好了,回归正题。爱动脑子的你,到这里,肯定会想:不就是数据类型不同嘛,干嘛写两遍基本一模一样的方法呢?真TM费事,怎么合成一个呢?   好在,微软已经帮你先前一步实现了你这个需求,这就是“泛型”(Generices),我自己理解就是:“涵盖了广泛(所有)的数据类型”。   这样,我把代码改成:   1 namespace TestCode   2 {   3 class Program   4 {   5 static void Main(string[] args)   6 {   7 Say("我饿了!");   8 Say(123);   9 }   10   11 public static void Say(T spk)   12 {   13 Console.WriteLine("我说:" + spk);   14 }   15 }   16 }   复制代码   完成,这就是“泛型”,基本格式就这样,比对着看一下,聪明的你很快就能看懂了,思想就是:可以接受任何数据类型的“实参”,我调用方法时再告诉计算机 -----“我要表达的内容,其数据类型是什么”。   若有返回类型,那把void改为T。用T作为数据类型去定义变量。   当你熟悉了泛型的基本用法,你就可以去尝试更多的地方去使用泛型!   初写博客,会有许许多多瑕疵,希望广大园友能够为我指出,不吝赐教!我喜欢的表达的风格是极为通俗,形象且顺应思路走向,用最简单、直白的方式解决“看似”最复杂的问题。(编辑:雷林鹏 来源:网络)
  • 相关阅读:
    多多挣钱,多多攒钱。
    平安鸿运英才少儿教育金保障计划
    沙河订奶
    排序算法--参考
    《程序设计基础》考试大纲 复习-C语言
    There is no Action mapped for namespace [/demo1] and action name [doLogin] associated with context path [/SSO_same_domain]
    Android报错 The connection to adb is down, and a severe error has occured.
    解析库beautifulsoup
    request模块使用
    爬虫基本原理
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/9435165.html
Copyright © 2011-2022 走看看