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

来源:互联网 发布:缎面连衣裙淘宝 编辑:程序博客网 时间:2024/06/05 16:25

一、常量、枚举、结构:

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();      }    }
0 0
原创粉丝点击