一、常量、枚举、结构:
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();
}
}