C#/.Net数据库笔试重点:静态与非静态成员及const与static readonly

需积分: 10 0 下载量 129 浏览量 更新于2024-07-19 收藏 339KB DOC 举报
在C#/.Net的数据库笔试资料中,重点考察了静态成员与非静态成员的区别以及const和static readonly关键字的差异。这些概念是理解面向对象编程基础的关键部分。 1. 静态成员与非静态成员: - 静态成员(Static Members):使用`static`关键字修饰的成员(如变量和方法),它们属于类本身而不是特定的对象实例。静态变量在类加载时创建,并且所有对象共享同一个实例。例如,在上面的示例中,`Class1.staticStr`是一个静态字符串,无论创建多少个`Class1`对象,其值都是"Class"。 - 非静态成员(Instance Members):没有`static`修饰的成员,如`String notstaticStr`,每个对象都有自己的副本。在`tmpObj1`和`tmpObj2`中,尽管它们都是`Class1`的实例,但`notstaticStr`的值分别为"tmpObj1"和"tmpObj2"。 2. const和static readonly的区别: - `const`:用于声明常量,编译器在编译阶段会对其赋值并将其插入到代码中,不允许在运行时更改。例如,如果有一个`const int`类型的常量,其值必须在声明时确定。 - `static readonly`:也用于声明常量,但它允许在构造函数中动态计算值,编译器会在编译时计算。与`const`不同,`static readonly`可以在类的实例之间共享,但一旦初始化后,就不能再改变其值。 理解这些概念对于C#程序员来说至关重要,因为它们涉及到内存管理、性能优化和代码的可维护性。在实际开发中,合理使用静态成员和非静态成员可以帮助组织代码结构,而正确区分const和static readonly则有助于避免运行时错误和提高代码的可读性。掌握这些知识点是C#/.Net数据库开发岗位的基础,对于笔试和实际工作中处理数据库操作,比如设计数据访问层,优化查询性能等方面都有帮助。