I guess the difference is obvious - you inherit a class and implement an interface.
If you write in VB.NET, the difference just shines. Your code looks like:
public class MyClass: Inherits ClassX Implements IInterface.
However, as you sure know, in C# things are a bit messier. The code above will look in C# like this:
public class MyClass : ClassX, IInterface.
I was in a number of presentations where the presenter showed a code silimar to the above, and said the class inherits from IInterface. But the highlight of this was in the (great) TechEd in Israel, when a presenter said, when talking about a code similar to the above, that we have here a multiple inheritance.
Why is it that there is no clear distinction between inherits and implements in C#? Is there any rational reason for this, or the architects just count on the developer to know whether he inherits or implements, based on the capital I?