Curriculum
In C#, a static
class or method is a member that belongs to the type itself, rather than to an instance of the type. This means that you can access it without creating an instance of the class.
Here is an example of defining a static
class in C#:
static class MathHelpers { public static double Multiply(double a, double b) { return a * b; } public static double Divide(double a, double b) { return a / b; } }
In this example, we define a static
class called MathHelpers
with two static
methods, Multiply
and Divide
. We can call these methods without creating an instance of the MathHelpers
class, like this:
double result1 = MathHelpers.Multiply(2.0, 3.0); double result2 = MathHelpers.Divide(6.0, 2.0);
Rules to keep in mind while using static
classes and methods:
static
classes and methods are members of the type itself, not of an instance of the type. They can be accessed using the dot notation, without creating an instance of the class.static
classes and methods cannot access instance members of a class, as there is no instance to refer to. They can only access other static
members or const
fields.static
classes cannot be instantiated, as they have no instance state. They can only contain static
members.static
methods cannot be overridden or used in polymorphism, as they are not associated with any instance of a class.static
members are loaded into memory when the program starts, and they remain in memory for the duration of the program. This can have performance implications for large or complex static
classes and methods.static
members when you need to share functionality across multiple instances of a class, or when you have a utility class that doesn’t need instance state.Overall, static
classes and methods are a useful tool in C# for creating utility classes, shared functionality, or other types of functionality that do not depend on instance state. By understanding the rules and best practices for using them, you can create more efficient and maintainable code in C#.