c#试题及答案(2)

2019-01-19 14:28

15 DataReader和DataSet的异同

DataReader使用时始终占用SqlConnection,在线操作数据库..任何对SqlConnection的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..

DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存...但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作. 16解释virtual、sealed、override和abstract的区别

virtual声明虚方法的关键字,说明该方法可以被重写; sealed说明该类不可被继承;override重写基类的方法;abstract声明抽象类和抽象方法的关键字,抽象方法不提供实现,由子类实现,抽象类不可实例化。 17 什么叫泛型 (generics)?

使用泛型,可以定义使用类型参数定义的类和/或方法。当客户端代码实例化类型时,会指定一个特定的类型作为参数。

五、计算题

1、定义方法float ave(float[] a)实现求数组的平均值,在主函数中使用委托调用该方法,求数组(23,45,12,67.8,12.3)的平均值。 public static float ave(float[] a) {

float sum = 0;

foreach (float n in a) sum = sum + n; return sum / a.Length; }

public delegate float F(float[] a); static void Main(string[] args) {

float[] a1 = new float[] { 23, 45, 12, 67.8F, 12.3F }; F f = new F(ave);

Console.WriteLine(\数组平均值:{0}\ Console.ReadKey(); }

2、List集合的使用

List listEmail = new List();

static string queryDomain;

private void Form1_Load(object sender, EventArgs e) { listEmail.Add(\ listEmail.Add(\

listEmail.Add(\ listEmail.Add(\ listEmail.Add(\ listEmail.Add(\ listEmail.Add(\ foreach(string str in listEmail) lstResult.Items.Add(str); }

3、使用Dictionary泛型集合实现学生管理系统 public partial class Form1 : Form {

public Form1() {

InitializeComponent(); }

public class StuInfo {

private string id; private string name; private string classes; private string telephone; public string Id {

get { return id; } set { id = value; } }

public string Name {

get { return name; } set { name = value; } }

public string Classes {

get { return classes; } set { classes = value; } }

public string Telephone {

get { return telephone; } set { telephone = value; } }

public StuInfo(string _id, string _name, string _classes, string _telephone) {

this.id = _id;

this.name = _name; this.classes = _classes;

this.telephone = _telephone; } }

Dictionary stuDic = new Dictionary(); private void Form1_Load(object sender, EventArgs e) {

StuInfo zhang = new StuInfo(\张三\软件143\ StuInfo li = new StuInfo(\李四\软件143\ StuInfo ma = new StuInfo(\马玲\软件144\ StuInfo wang = new StuInfo(\王强\软件145\ stuDic.Add(zhang.Id,zhang); stuDic.Add(li.Id, li); stuDic.Add(ma.Id, ma);

stuDic.Add(wang.Id, wang); panel1.Visible = false; this.Height = 270; fillGrid(stuDic); }

public void fillGrid(Dictionary dic) {

if (dataGridViewInfo.ColumnCount == 0)

{ DataGridViewTextBoxColumn col1 = new DataGridViewTextBoxColumn(); col1.HeaderText = \学号\

col1.DataPropertyName = \ col1.Name = \

dataGridViewInfo.Columns.Add(col1);

DataGridViewTextBoxColumn col2 = new DataGridViewTextBoxColumn(); col2.HeaderText = \姓名\

col2.DataPropertyName = \ col2.Name = \

dataGridViewInfo.Columns.Add(col2);

DataGridViewTextBoxColumn col3 = new DataGridViewTextBoxColumn(); col3.HeaderText = \班级\

col3.DataPropertyName = \ col3.Name = \

dataGridViewInfo.Columns.Add(col3);

DataGridViewTextBoxColumn col4 = new DataGridViewTextBoxColumn(); col4.HeaderText = \电ì?话??\

col4.DataPropertyName = \ col4.Name = \

dataGridViewInfo.Columns.Add(col4); }

BindingSource bs = new BindingSource(); bs.DataSource = dic.Values;

dataGridViewInfo.DataSource = bs; }

private void btnQuery_Click(object sender, EventArgs e) {

if (txtQueryInfo.Text == \ {

fillGrid(stuDic); return; }

if (stuDic.ContainsKey(txtQueryInfo.Text))

{

StuInfo stu=stuDic[txtQueryInfo.Text];

Dictionary subdic = new Dictionary(); subdic.Add(stu.Id,stu); fillGrid(subdic); } else {

MessageBox.Show(\查无此人\出

错!\ } }

private void btnAdd_Click(object sender, EventArgs e) {

panel1.Visible = true; this.Height = 400; txtID.Focus(); }

private void btnSubmit_Click(object sender, EventArgs e) {

if(txtID.Enabled==true) {

if (stuDic.ContainsKey(txtID.Text)) {

MessageBox.Show(\学号已存在\出错!\MessageBoxIcon.Error); return; }

if(txtID.Text==\ {

MessageBox.Show(\信息不能为空!\出错\MessageBoxIcon.Error); return; }

StuInfo stu = new

StuInfo(txtID.Text,txtName.Text,txtClass.Text,txtTelephone.Text); stuDic.Add(stu.Id,stu); fillGrid(stuDic); txtID.Text=\ txtName.Text=\ txtClass.Text=\

txtTelephone.Text = \ panel1.Visible = false; this.Height = 270; } else

{

if ( txtName.Text == \ {

MessageBox.Show(\信息不能为空\出错\MessageBoxIcon.Error); return; }

stuDic.Remove(txtQueryInfo.Text);

StuInfo stu = new StuInfo(txtID.Text, txtName.Text, txtClass.Text, txtTelephone.Text);

stuDic.Add(stu.Id,stu); fillGrid(stuDic); txtID.Text=\ txtName.Text=\ txtClass.Text=\

txtTelephone.Text = \ panel1.Visible = false; this.Height = 270; txtID.Enabled = true;

} }

private void btnCancel_Click(object sender, EventArgs e) {

txtID.Text = \ txtName.Text = \ txtClass.Text = \

txtTelephone.Text = \ panel1.Visible = false; this.Height = 270; }

private void dataGridViewInfo_CellContentClick(object sender, DataGridViewCellEventArgs e) {

}

private void btnDel_Click(object sender, EventArgs e) {

if(!stuDic.ContainsKey(txtQueryInfo.Text)) {

MessageBox.Show(\用户不存在\错误\ return; } else

{

stuDic.Remove(txtQueryInfo.Text); fillGrid(stuDic);


c#试题及答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大学毕业感言一句话精选

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: