System (with a uppercase S!) is a namespace in which several useful classes are defined. For instance, if you want to use the DateTime class, it's defined in System namespace. It's fully qualified name is System.DateTime. Each time you want to use DateTime, you need to write System.DateTime for the compiler, or you indicate using System; so that the compiler knows that when it sees any class ...
Why is “using System;” not considered bad practice? "using System;" is not universally not considered a bad practice. See for example: Why would you not use the 'using' directive in C#? But it may be true that it is not considered quite as bad as using namespace std. Probably because: C# does not have header files. It is uncommon to "include" one C# source file into another using a pre ...
But I want to know if we have already used "using System" statement in our app then why do we need to use statements like "using System.Data" or any other shown in the image. Haven't we already imported the main namespace, then why is there even need of adding using statements for sub-namespaces?
c# - Why do we have to use statements like "using System.Collections ...
I have just made a new console project in C# and I'm wondering why Console.WriteLine (""); works without using System in the top. Since when did the using System become optional?
I don't think I'd ever include System in one of my namespaces - if it confuses me, it's like to confuse the compiler. But, you can usually fix weird namespace issues by using the alias feature of the using keyword. Something like using Management = Foo.System.Management;. It may take some experimentation to get it right (and comfortable in your use case)