Βλέποντας ένα από τα mock classes μου, έπεσα πάνω σε αυτό το κομμάτι κώδικα:
return new Dictionary<int, CategoryBase>
{
{ 0, new Category(0, null, null, null, 0) },
{ 1, new Category(1, 0, null, null, 0) },
...........
{ 31, new Category(31, null, null, null, 0) },
{ 32, new Category(32, null, null, null, 0) },
};
Παρατηρήστε την προτελευταία γραμμή, όπου υπάρχει ένα κόμμα στο τέλος. Γιατί αυτός ο κώδικας κάνει compile κανονικά; Δεν θα έπρεπε να διαμαρτυρηθεί το IDE για
syntax error ή έστω
Argument Expected; Ξέρω ότι παρόμοια συμπεριφορά είναι επιτρεπτή στην C++ (C99 και μετά), αλλά μου φαίνεται μάλλον ασυνήθιστο για την C#. Υπάρχουν κι άλλα τέτοια "features" στην γλώσσα άραγε;
Μην αφήνετε τα media να σας "ταΐζουν"!