2016-03-19常量、枚举、结构和微软企业库

一、常量、枚举、结构:

1.常量声明格式:

const 数据类型 常量名称=值;
2.枚举类型:

1 )声明格式:

[public] enum 枚举名称

{

    值1,

    值2,

    值3,//注意:值之间是逗号,而不是分号!

    ……      

}

public :访问修饰符

enum :表示声明的是枚举类型

枚举名 一般要符合Pascal命名规范

2)使用:

枚举类型的使用:枚举名 变量名称=枚举名.枚举值之一:

示例:

Pubilc enum Gender{男,女}//声明

Gender gender=Gender.男;//使用

3)类型转换

1>和int相互转换:

枚举转化成int 值为枚举类型的索引值(默认从0开始,可在枚举声明时设置,格式为值=索引);

int到枚举同理,会根据索引获取到枚举中对应的值,没有则不变

2>和string相互转换:

枚举转换为string 值为枚举的值。

string到枚举的转换用Enum.Parse()方法完成

示例:

Enum.Parse(typeof(枚举名),要转换的字符串)
3.结构、结构体:

可以一次性声明多个不同类型的变量

1)声明语法:

[piblic] struct 结构名

{

piblic 数据类型1 名称1;

piblic 数据类型2 名称3;//注意:不要忽略了piblic,否则外部访问不到

……

//在这里面,这些不叫变量,而应该成为字段!变量仅仅能存取一个值,而字段可以存储多个值

//字段通常会加下划线_

}

2)使用:

//定义

piblic struct Person

{

    piblic int pId;

    piblic string pName;

    public Gender pGender; //用之前的枚举类型

}

//使用

    Person person1;

    person1.pId=1;

    person1.pName="张三";

    person1.pGender=Gender.男;

一、利用新的构造函数在不同的窗口之间传值 例 From1中的ClassId传给FormUpdate

FormUpdate中:

public FormUpdate()

{

    InitializeComponent();

}//原始构造函数

public FormUpdate(int id)

{

    InitializeComponent();

    classId = id;

}//新的构造函数

在From1中要显示FormUpdate应写为:

FormUpdate f =new FormUpdate(classId.Text);

f.show();//f.ShowDialog();

二、.GUID

全局唯一标识符 (GUID) 是一个 128 位整数(16 字节),可用于所有需要唯一标识。

GUID 在 .NET 中使用非常广泛,而且 .NET Framework 提供了专门 Guid 基础结构。

1.Guid 结构的常用法包括:

System.Guid.NewGUID()
生成一个新的 GUID 唯一值符的计算机和网络。

System.Guid.NewGuid().ToString(format)
将 GUID 值转换成字符串,便于进一步处理:

Guid.NewGuid().ToString(“N”) 结果为:38bddf48f43c48588e0d78761eaa1ce6

Guid.NewGuid().ToString(“D”) 结果为:57d99d89-caab-482a-a0e9-a0a803eed3ba

Guid.NewGuid().ToString(“B”) 结果为:{09f140d5-af72-44ba-a763-c861304b46f8}

Guid.NewGuid().ToString(“P”) 结果为:(778406c2-efff-4262-ab03-70a77d09c2b5)
三、微软企业库使用:

1、引用一下几个.dll

需要在项目中添加对下列程序集的引用

    Microsoft.Practices.EnterpriseLibrary.Common.dll

    Microsoft.Practices.EnterpriseLibrary.Data.dll

    Microsoft.Practices.ServiceLocation.dll

    Microsoft.Practices.Unity.dll

    Microsoft.Practices.Unity.Interception.dll

2、命名空间

    using Microsoft.Practices.EnterpriseLibrary.Data;

    using System.Data.Common;

3、配置连接字符串(.config中XML格式中的一节)

    <connectionStrings>

    <add name="ConnectionString" connectionString="Data Source=.\sqlexpress;Initial Catalog=MySchool;Integrated Security=True" providerName="System.Data.SqlClient"/>

    </connectionStrings>

4、使用示例:

1)主要方法:

Database db = DatabaseFactory.CreateDatabase("ConnectionString");

2)执行增删改sql语句

public int Insert(Model.Subject model)

{

    string sql = "insert into subject values(@subjectname,@hours,@gradeid)";

    DbCommand cmd = db.GetSqlStringCommand(sql);

    db.AddInParameter(cmd, "@subjectname", DbType.String, model.SubjectName);

    db.AddInParameter(cmd, "@hours", DbType.Int32, model.Hours);

    db.AddInParameter(cmd, "@gradeid", DbType.Int32, model.GradeId);

    return db.ExecuteNonQuery(cmd);

}

3)返回第1行第1列的值

public int GetCount()

{

    string sql = "select count(*) from subject";

    DbCommand cmd = db.GetSqlStringCommand(sql);

    return Convert.ToInt32(db.ExecuteScalar(cmd));

}

4)返回DataSet

public DataTable GetList()

{

    string sql = "SELECT [SubjectId],[SubjectName],[Hours],[GradeName] from subject inner join grade on subject.GradeId=grade.GradeId";

    DbCommand cmd = db.GetSqlStringCommand(sql);

    DataSet ds = db.ExecuteDataSet(cmd);

    return ds.Tables[0];

}

5)返回IDataReader

    string sql = "select * from College where CollegeId=@id";

    DbCommand cmd = db.GetSqlStringCommand(sql);

    db.AddInParameter(cmd,"@id",DbType.Int32,id);

    using (IDataReader dr = db.ExecuteReader(cmd))

    {

      if (dr.Read())

      {

        textBox1.Text = dr[0].ToString();

        textBox2.Text = dr[1].ToString();

      }

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值