假如某天你想去A海滩烧烤, 由于那里没有商店, 所以你要带上一大堆烧烤工具、炭、点火工具、食材、遮阳伞等等。
某一次,你发现A海滩开了一家叫“.Net 2.0”的烧烤店,里面的场地上已经布置好了灶子、桌椅等等,只需要你带着食材进去就可以马上开始烧烤了。但是,店里规定:只要你的食材是从一个叫“C#”的超市里买的,你就可以使用他的场地。
后来你习惯在这家“.Net 2.0”的店烧烤了。
由于某种原因,你去了另一个城市发展。你听说那里的B海滩有一家叫“.Net 1.0”的店,他和“.Net 2.0”是一家的,规定也完全相同。
你带着买好的牛肉去“.Net 1.0”,打算去做铁板烧。等你进了“.Net 1.0”后发现,因为这家店比较陈旧,所以无法提供铁板。要么你自己搞一块铁板回来,要么就不做了。
后来呢,B海滩的“.Net 1.0”重新装修,变成了4.0。由于安全的原因,灶子上镶了一层网,你再也不能像以前那样把红薯扔到火炭里面烤了。想烤红薯的话,只能去比4.0陈旧的店了。
对于C#程序,海滩就是操作系统,CLR是烧烤店,食材就是你的程序本体。你想做出食物,只要带着食材就可以了(很方便)。但是,那个海滩必须要有属于.Net的烧烤店。
而对于其它不需要CLR的程序(比如易语言程序),海滩是操作系统。但如果你想烧烤的话,你不但要带上食材,还要带上各种各样的烧烤工具。当然,由于你带上了所有必须的东西,无论你去的那个海滩有没有烧烤店,你都可以正常烧烤(即使你去的是一个荒岛)。