端阳月七 2021-08-07 15:04 采纳率: 80%
浏览 81
已结题

在做C#时,遇到在一个类里要构造两个函数,但是不明白有什么区别?


 public MyDoubleLink(List<T> list)
        {
            //TODO:实现构造函数:
           
        }

        public MyDoubleLink(T data)
        {
         
            //TODO:实现构造函数
        }
  • 写回答

3条回答 默认 最新

  • Water Lee 2021-08-07 15:42
    关注

    首先,同名通常说明两个函数的功能是一样。再看函数的区别,主要就是在参数,也就是说,不同的参数类型对应不同的处理方法。我记得在C#的基础教程中,通常也不会使用函数这种叫法,而是使用方法。这样就好理解了,两个同名的方法(函数)是用来处理不同传入参数而设计的。举个例子,你进到一个服装店,营业员首先就会根据你的性别,引导你去男款区或是女款区,然后根据男人和女人不同的购物习惯给你推荐衣服,最终让顾客得到最舒适的购物体验,以达到销售的目的。
    在以上的例子中,服装店就是你的类,顾客进店就要调用引流服务的方法(函数),为了有效促销,你得根据不同性别的顾客设计两个不同的引流服务方法,名字都是引流服务,但处理的流程完成不同,所以你只能设计为两套流程(方法)。至于合适那套流程(方法),要等顾客来的时候才知道,也就是程序调用的时候才确定。
    具体到代码中,或许一般的方法(函数)你可以用不同的名字来区别,但是对于构造函数,基本只能重载,没有太好的办法。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月17日
  • 已采纳回答 8月9日
  • 创建了问题 8月7日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分