· user kokos answered the wonderful hidden features of c# question by mentioning the using keyword. Can you elaborate on that? What are the uses of using? · in a mysql join, what is the difference between on and using()? · in c++11, the using keyword when used for type alias is identical to typedef. It has the same semantics as if it were introduced by the typedef specifier. Using calls dispose() after the using -block is left, even if the code throws an exception. 7. 1. 3. 2 a typedef-name can also be introduced by an alias-declaration. As far as i can tell, using() is just more convenient syntax, whereas on allows a little more flexibility when the column names are not Updating the using keyword was specifically for templates, and (as was pointed out in the accepted answer) when you are working with non-templates using and typedef are mechanically identical, so the choice is totally up to the programmer on the grounds of readability and communication of intent. So you usually use using for classes that require cleaning up after them, like io. The identifier following the using keyword becomes a typedef-name and the optional attribute-specifier-seq following the identifier appertains to that typedef-name.