惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
Kaspersky official blog
罗磊的独立博客
F
Fortinet All Blogs
人人都是产品经理
人人都是产品经理
量子位
V
Visual Studio Blog
Blog — PlanetScale
Blog — PlanetScale
M
MIT News - Artificial intelligence
B
Blog RSS Feed
腾讯CDC
博客园_首页
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
博客园 - Franky
S
SegmentFault 最新的问题
N
Netflix TechBlog - Medium
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
LINUX DO - 热门话题
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Martin Fowler
Martin Fowler
D
Docker
P
Privacy & Cybersecurity Law Blog
S
Securelist
V
V2EX
Jina AI
Jina AI
阮一峰的网络日志
阮一峰的网络日志
T
Tor Project blog
The Hacker News
The Hacker News
Microsoft Azure Blog
Microsoft Azure Blog
AWS News Blog
AWS News Blog
The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
T
The Exploit Database - CXSecurity.com
Help Net Security
Help Net Security
酷 壳 – CoolShell
酷 壳 – CoolShell
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 叶小钗
Recent Announcements
Recent Announcements
Cloudbric
Cloudbric
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Latest news
Latest news
MongoDB | Blog
MongoDB | Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Recorded Future
Recorded Future
V2EX - 技术
V2EX - 技术

C#

asp net core 的工作站模式和服务器模式的区别 - V2EX C#上位机开发是用 winform 那种传统工业风还是 WPF 现代风 - V2EX paddleocr 的 C#集成问题 - V2EX C#中异步相关的问题 - V2EX .NET 换新的异步编程模型了,性能很强 - V2EX 想念 C# - V2EX 200 块有偿求助 C#高速读取串口,导致软件闪退的问题。 - V2EX 老师,我太想进步了——关于 C#学习 - V2EX visual studio 2022 代码提示消失 - V2EX Cursor 生成的代码有个大坑,排查了一晚上才找出原因 - V2EX C# 有哪些显著的缺点? - V2EX 有没有 Sematic Kernel 可以落地的应用推荐? - V2EX 请教下 C#有没有办法用装饰器全局监控方法执行时间 - V2EX 想用 c#的 mvc 实现一个功能. - V2EX Unity 双击 C#脚本默认打开 Visual Studio 没有代码提示如何解决? - V2EX 请问 c#有没有一些能规范学习的生产管理系统开源项目? - V2EX C#串口通信问题 求教 - V2EX C# 怎么同时交叉编译 windows Linux mac ?跟 go 一样 - V2EX ClosedXML 如何对一列数据设置高亮重复项?(高亮重复项是 Excel 的一种功能;不能手动给重复单元格设置背景颜色,这样的话用户删除重复项后不会自动去除高亮) - V2EX 求推荐软件开发练习项目的教学视频或书籍 - V2EX 如何在 visual studio 2022 中新建单元测试项目时默认使用最新版本? - V2EX C#有像 C++的 libevent 同样定位的高性能跨平台网络库吗? - V2EX 求助,如何正確劫持系統 DLL 調用 - V2EX C#生态里有啥简单一点的容易上手的开源后台管理系统吗? - V2EX .NET6 HttpClient 无反应也不超时? - V2EX 关于.NET6 httpclient 用 IPV6 还是 IPV4 的疑问 - V2EX 关于 C#调用 DLL 的疑惑 - V2EX C#程序员开发手机页面有什么适合的 UI 框架? - V2EX 求教大佬,用 C#如何操作 word 文档 - V2EX 如何配置环境变量才能让 dotnet 和 ipconfig 都可以工作? - V2EX C#的二维码摆渡解码遇到点问题 - V2EX 请教一个 sha256withecdsa 签名的问题 - V2EX C#中有什么专有名词来定义 方法.方法 这种调用方式么? - V2EX 请问是否有 C# “官方”文档? - V2EX 关于 c#软件的逆向分析 - V2EX c#程序里的一个字符串参数,可以在生成的 exe 文件里搜索到吗? - V2EX C#新建项目后新建的各种文件的作用是什么? - V2EX 请问这个访问控制声明是否有点多余? - V2EX 请教, c#语言中,一个回调函数中使用 lock 部分执行较慢的代码,后续执行回调函数中 lock 操作执行顺序是不是不能保证先执行顺序 - V2EX C#中类 类型的变量是通常所说的“对象么?”类的实例又是什么? - V2EX C#单元测试为什么不能过多使用 setup? - V2EX C# 类中的这个构造函数能不能省略? - V2EX 如何让 C# 窗体标签的语言默认是中文? - V2EX C# 中 this 关键字在 Forms 类中使用的困惑 - V2EX 2023 年了,值得入行 C#上位机吗? - V2EX 想学习辉芒微单片机开发,有大佬有学习资料和方式吗 - V2EX 使用 C#的 HPSocket 的一个问题 - V2EX C# 有没有 Rust 和 Lisp 那样, if/match 能直接求值,像三目运算符一样的功能? - V2EX 泛型存 List 的一个问题 - V2EX 有 C++基础入门 C#有推荐的书或课程吗,准备学习 unity 游戏开发
既然已经继承了 BCL 中的 IComparable 接口,为什么还要自己写 CompareTo 方法的实现? - V2EX
huzhikuizainali · 2023-10-10 · via C#

1. 根本原因是你没理解面向对象

2. 可是看到下面代码的时候我就沉默了。你看第三行,它怎么自己实现了 CompareTo 方法
回答:一个类如果声明要实现( implements )一个接口,则必须对接口里所有的抽象方法进行实现,给出具体的逻辑。否则会发生编译错误

3. 难道我继承了 IComparable 接口不就是不想重复造轮子么?如果我自己重写 CompareTo ,那还不如不继承接口,自己直接手写 sort 方法不就完了?
回答:那你再想想,为啥你继承了这个接口,就自动获取了那个能力? 假设都有一个 Closeable 接口,MyClass 继承了它,为啥会自动获取 close 的逻辑?
不可能呀,肯定是你要自己写代码实现呀! 问题来了,为什么要用接口呢?

4. 为什么要用接口?
回答:一个具体的例子,假设你的程序要在关闭时释放所有资源(比如文件句柄、数据库连接等),那么你只需要写一个函数就能实现,但具体这个资源的释放
逻辑是怎么实现的,你不用管,你只需要知道,实现了 Closeable 接口的那些类都可以调用 close 方法,一般都拿来释放资源(文件句柄、数据库连接):

func CloseAll(List<Closeable> c) {
c.foreach(c -> c.close)
}

同理,对一组数组进行排序,不确定的是什么? 是数组里元素次序怎么确定,就是你这个 MyClass 的实例之间如何比较大小的问题。 这个是你需要去指定的。