Assuming your question isn't simply rhetorical, the reason is very simple: the CLS didn't make it its business to force *every* language to be like Java in this respect. Anders Hjellberg has explained exactly why C# is this way; check out the interviews with him at artima.com.
> Anybody know why methods aren't virtual by default in .NET? > It seems like a really bad default to have all methods non-virtual. =================================== This list is hosted by DevelopMentor® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com