C#面试题目(部分)
- 简述 private、 protected、 public、 internal 修饰符的访问权限, 并简述考虑资源占用的情况下, 对修饰符的使用需要注意些什么.
这个是很很简单的基础知识:1、private关键字是一个成员访问修饰符,私有访问是允许的最低访问级别,私有成员只有在声明它们的类和结构中才是可以访问的。(这个类有可能分布在多个cs文件中)2、protected关键字是一个成员访问修饰符,受保护成员在它的类中可访问并且可由派生类访问,有关protected与其他访问修饰符的比较,仅当访问通过派生类类型发生时,基类的受保护成员在派生类中才是可以访问的。(保护成员,该类内部和继承类中可以访问。)3、pbulic关键字是类型和类型成员的访问修饰符,公共访问是允许的最高访问级别。对访问成员没有限制。(公共成员,完全公开,没有访问限制。)4、internal关键字是类型和类型成员的访问修饰符,只有在同一程序集的文件中,内部类型或成员才是可以访问的。(在同一命名空间内可以访问。)
- 请问执行Csharp类中的GetNumber方法, 将输出什么?
class Csharp { int iNumber=0; int iCondition=1; void GetNumber() { if (iCondition==1) { int iNumber=3; } console.WriteLine(iNumber.ToString()); } } |
- 在C#中,string str = null 与 string str = “” 请说明其中的区别。
- 请用C#方法写出将double型数值 123.456 转换为int 型数值的两种方法.
- 请根据要求编写代码: 创建一个空数组, 向该数组中添加 1,2,3 这三个整型数值, 然后删除该数组中的成员 2. (可以使用ArrayList或 List, 能达到要求即可, 可上机.)
- 请根据要求编写代码: 创建一个字符型, 名为FormTitle的只读属性.(可上机)
- 在下面的例子里
using System;
class A
{
public A()
{
PrintFields();
}
public virtual void PrintFields(){}
}
class B:A
{
int x=1;
int y;
public B()
{
y=-1;
}
public override void PrintFields()
{
Console.WriteLine("x={0},y={1}",x,y);
}
}
当使用new B()创建B的实例时,产生什么输出?或者简述一下有继承时, 子类方法的执行顺序.
- 请简述方法重载和重写的区别.
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- 要禁止用户在某个文本框输入, 可以改变该文本框的什么属性?
- 界面只有两个按钮, Button1 和 Button2, 显示界面后, 焦点停留在Button1上.请写出点击Button2后, 按钮发生的事件顺序.
- 请简述DataSet 和 DataReader的区别.
- 已知名为ds的DataSet中有表Table1, Tabel1中含有两列: 字符型, strName; 字符型, strCode. 请编写代码完成以下要求:
a) 向ds的表Tabel1中增加两行数据.
b) 删除ds的表Table1中最后一行数据.
- 请编写循环语句, 计算1到10中偶数的和.
数据库部分
- 请根据要求编写语句, 员工表结构如下:
strCode varchar(20) 编号
strName nvarchar(20) 姓名
strDepartment nvarchar(20) 部门
- 插入1条员工记录: 编号:001, 姓名:李四, 部门:染部.
- 删除员工编号为002的员工信息.
- 将编号001的员工姓名改为:李三.
- 查询出每个部门的员工总数.
5. 查询出当前员工表中最大的编号.
2. 请写出存储过程, 自定义函数的编写格式.