.NET C#面试攻略:重点知识与试题解析
需积分: 9 42 浏览量
更新于2024-08-02
收藏 176KB DOC 举报
"这是一份关于.NET、C#的面试题集,涵盖了基础概念、面向对象特性、ADO.NET组件、数据库操作、访问修饰符、SQL查询以及ASP.NET页面间数据传递等多个方面,旨在帮助求职者准备.NET相关的技术面试。"
.NET 和 C# 面试题详细解析:
1. 填空:
(1) 面向对象的语言具有**封装**性、**继承**性、**多态**性。这三个特性是面向对象编程的基础,封装用于隐藏内部实现细节,提供公共接口;继承允许子类继承父类的属性和方法;多态则提供了多种形态的同一行为,增强了代码的灵活性。
(2) 能用foreach遍历访问的对象需要实现**IEnumerator**接口或声明**GetEnumerator**方法的类型。这是.NET集合类遵循的协议,使得它们可以被foreach循环遍历。
2. 不定项选择:
(1) 正确答案是:B. 一个类可以实现多个接口,C. 接口不能被实例化。接口中不能包含已实现的方法,只能声明方法、属性、事件等,A和D错误。
(2) 从数据库读取记录,可能用到的方法有:B. ExecuteScalar(返回单个值)、C. Fill(填充数据集)、D. ExecuteReader(获取数据读取器)。
3. 访问权限:
- **private**:私有的,仅在类的内部可访问。
- **protected**:受保护的,可以在类内部及其派生类中访问。
- **public**:公有的,任何地方都可访问。
- **internal**:内部的,仅在同一程序集内可访问。这是.NET的默认访问级别。
4. SQL查询:
取出表A中第31到第40记录的SQL语句如下(假设ID为主键且自动增长):
```sql
SELECT * FROM A WHERE ID BETWEEN 31 AND 40
```
注意:由于ID可能是不连续的,BETWEEN关键字确保了所有31到40之间的记录都被选取。
5. ASP.NET页面间传递值的方式:
- QueryString:通过URL参数传递。
- Session:将值存储在服务器端的会话状态中。
- Viewstate:在客户端以隐藏字段的形式存储数据,保持页面刷新后值不变。
- Cookie:将数据存储在客户端的Cookie中。
- Server.Transfer:服务器内部转移,保留当前请求上下文。
- Application或Cache:全局共享数据,适用于多用户环境。
- Form域数据:将值放入POST请求的表单数据中。
6. 程序输出:
```csharp
class Class1 {
// ...
}
static void Main() {
int i1 = 10; // 不变,Add方法接收的是值类型副本
int i2 = 20; // 变为21,AddWithRef使用引用传递修改了i2
Class1 c = new Class1(); // 不变,静态方法无法改变实例成员
Console.WriteLine(i1); // 输出10
Console.WriteLine(i2); // 输出21
Console.WriteLine(c.str); // 输出"Class1.str",类成员不受静态方法影响
}
```
注意:静态方法不能直接修改实例成员,因为它们并不与特定的实例关联。在这个例子中,`Add`和`StringConvert`对局部变量或引用传递的参数有影响,但对实例成员`c.i`和`c.str`无影响。因此,`c.i`和`c.str`的初始值保持不变。
2010-12-09 上传
2008-11-17 上传
2009-07-05 上传
2009-04-26 上传
2012-01-12 上传
点击了解资源详情
2024-01-20 上传
2008-09-07 上传
xz5211314_0
- 粉丝: 43
- 资源: 23
最新资源
- 掌握Jive for Android SDK:示例应用的使用指南
- Python中的贝叶斯建模与概率编程指南
- 自动化NBA球员统计分析与电子邮件报告工具
- 下载安卓购物经理带源代码完整项目
- 图片压缩包中的内容解密
- C++基础教程视频-数据类型与运算符详解
- 探索Java中的曼德布罗图形绘制
- VTK9.3.0 64位SDK包发布,图像处理开发利器
- 自导向运载平台的行业设计方案解读
- 自定义 Datadog 代理检查:Python 实现与应用
- 基于Python实现的商品推荐系统源码与项目说明
- PMing繁体版字体下载,设计师必备素材
- 软件工程餐厅项目存储库:Java语言实践
- 康佳LED55R6000U电视机固件升级指南
- Sublime Text状态栏插件:ShowOpenFiles功能详解
- 一站式部署thinksns社交系统,小白轻松上手