C# 中的 static
关键字可以用于类、方法和属性。以下是 static
在 C# 中的一些应用场景:
静态类:
public static class Utility
{
public static int Add(int a, int b)
{
return a + b;
}
}
静态方法:
public class Calculator
{
public static int Multiply(int a, int b)
{
return a * b;
}
}
静态属性:
public class MyClass
{
public static int MyProperty
{
get { return _myValue; }
set { _myValue = value; }
}
private static int _myValue = 0;
}
静态构造函数:
public static class Singleton
{
private static readonly MyClass Instance = new MyClass();
static Singleton()
{
// 初始化代码
}
public static MyClass Instance { get; }
}
静态变量(类变量):
public class MyClass
{
public static int SharedCounter = 0;
}
静态方法参数和返回值:
public static class MyStaticClass
{
public static T Convert<T>(object value) where T : IConvertible
{
return (T)Convert.ChangeType(value, typeof(T));
}
}
静态类型转换:
static
关键字可以进行静态类型转换,这可以在编译时执行类型检查,从而避免运行时错误。public static class TypeConversion
{
public static double ToDouble(object value)
{
return Convert.ToDouble(value);
}
}
静态工具和实用程序:
public static class FileHelper
{
public static bool FileExists(string path)
{
return File.Exists(path);
}
}
数学和计算:
public static class MathUtils
{
public static double Pi => 3.141592653589793;
}
配置和元数据:
public static class AppSettings
{
public static string GetSetting(string key)
{
// 从配置文件或环境变量中获取设置值
return "SomeSettingValue";
}
}
这些应用场景展示了 static
关键字在 C# 编程中的多样性和实用性。