C#基础整理起名(二)

还记得,旧旧前发表过一篇作品:文件数据库–.Net界未来的一朵奇葩,引爆当先百条的褒贬,表明我们对文件数据库,依然情有所属的。

壹 、变量类型
int、double、string、char、bool、decimal
变量使用规则:先申明,再赋值,最终动用

透过多年的沉淀,在文书的操作上,已经有了些规模,因而,本文写出来和大家分享一下。

② 、命名规范:
Camel:第3个单词首字母小写,其余单词首字母大写,其他字母小写
帕斯Carl:每一个单词的首字母都大写,其他字母小写

 

5、常量
证明常量的语法:
const 变量类型 变量名=值;
例:public const int Che_SHI = 10001;
常量一旦赋值,不能够被另行赋值

一:Code First 开始:

陆 、枚举(规范大家的开发)
语法:
[public] enum 枚举名
{
值1,
值2,
值3,
………..
}

 

[]中代表能够差不多
Public:访问修饰符,公开的公家的,修饰3个分子的拜会权限。
enum:关键字,声明枚举的要害字
枚举名:要吻合pascal命名规范
将枚举注明到命名空间的底下,类的外
面,表示那么些命名空间下,全部的类都能够动用这么些枚举。
枚举便是一个变量类型,像int、string那样
只是枚举注脚、赋值、使用的方法跟这些常常的变量类型不平等。
枚举是自个儿写的变量类型

1:下载CYQ.Data V5,下载地址:http://www.cyqdata.com/download/article-detail-426

大家可以将三个枚举类型的变量跟int类型和string类型相互转换。
枚举类型暗许是跟int类型相互合营的,所以能够经过强制类型转换的语法相互转换。
当转换3个枚举中从未的值的时候,不会抛分外,而是间接将数显出来。

2:解压就二个dll,项目增进引用即可。

枚举同样也得以跟string类型相互转换,假如将枚举类型转换来string类型,则直接调用ToString().
一经将字符串转换到枚举类型则必要上边那样一行代码:
(要更换的枚举类型)Enum.Parse(typeof(要转移的枚举类型),”要转移的字符串”);
调用Enum类里的Parse()方法来援助大家将一个字符串转换到对应的枚举类型
比方转换的字符串是数字,则正是枚举中从不,也会不会抛很是。
若果转换的字符串是文本,若是枚举中向来不,则会抛出13分。

3:既然是Code First,那大家就直接写实体类,示例如下:

7、结构
为了3次性证明多个不等品种的变量(字段)
语法:
[public] struct 结构名
{
public string name;
成员//字段
}

    public class Users : CYQ.Data.Orm.OrmBase

程序中字段能存四个值,变量只好存叁个值。
字段起名规范,每一种字段前面加二个下划线,来分别变量和字段。

    {

8、数组
1回性仓库储存多个一律档次的变量就用数组。
语法:
数组类型[] 数组名=new 数组类型[数COO度];
int []nums=new int [5];
数组的长度一旦固定了,就不能够再被改变了

        public Users()

数组拥有初值
int数组初值 0
string数组初值 null(不占空间)
bool数组初值 false

        {

各样写法
int[] nums = new int[5];
int[] nums = { 1, 2, 3, 4, 5 };(常用)
int[] nums = new int[5] { 1, 2, 3, 4, 5 };
int[] nums = new int[] { 1, 2, 3, 4, 5, };

            this.SetInit(this, “Users”, “Txt Path={0}”);

int范围 最大值 int.MaxValue
最小值 int.MinValue
能够由此下标或许索引去做客数组中的成分

        }

九 、冒泡排序
将1个数组中的元素遵照从大到小或许从小到达的逐一进行排列。
int[] nums = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
Array.Sort(nums); //对数组开始展览升序排列
Array.Reverse(nums); //对数组举办倒序排列
不需求再次回到值,供给八个数组作为参数

        public int ID {get;set;}

10、方法/函数
函数就是将一堆代码进行录取的一种机制。
函数的语法:
[public]static 重返值类型 方法名([参数列表])
{
方法体:
}
public static int AddSum(int a,int b)
{
return a+b;
}

        public string UserName {get;set;}

回到值类型:就算不要求写再次回到值,写void。有重回值的用return再次来到
参数列表:实现那几个主意所不可不要提需求这么些措施的参数。有个别措施不要求写参数。

        public string Password {get;set;}

11、return的用法
1)在情势中回到要再次回到的值。
2)霎时结束这一次艺术。
3)一层一层的门,return只回去上一层。

    }

12、我们在Main()函数中,调用Test()函数。
小编们管Main()函数称之为调用者,管Test()函数称之为被调用者。
一旦Test()想要得到Main()的值:
1)传递参数。
2)使用静态字段来效仿全局变量。

 

假设Main()想要获得Test()的值:
1)返回值

表达多少个点:

1三 、不管是实参还是形参,都是在内部存款和储蓄器中开拓了空中的。

1,继承自OrmBase;

1四 、方法的机能肯定要单纯。
形式中毫无出现提醒用户输入。

2,构造函数里钦命表名“Users”和数据库链接(Txt 帕特h={0})。

15.out、ref、params
1)、out参数。
假若你在多个办法中,重回三个一样档次的值的时候,能够设想回到三个数组。
而是,如若回去四个不一致体系的值的时候,重临数组就足够了,那么这一个时候,
大家得以考虑动用out参数。
out参数在2个方法中能够重临多个区别体系的值。
out参数须要在艺术的内部必须为其赋值

 

2)、ref参数
能够将2个变量带入贰个方法中开始展览更改,改变完毕后,再将改成后的值带出方法。
ref参数须要在章程外必须为其赋值,而艺术内能够不赋值。
ref不须求成立2个新的变量来选拔再次来到值。

数据库链接验证({0}代表根目录):

ref是 有进有出,而out是 只出不进。
3)、params可变参数
将实参列表中跟可变参数数组类型一致的成分都看成数组的因素去处理。
params可变参数必须是形参列表中的尾声3个要素。

文本数据库(json存款和储蓄情势):Txt Path={0}

public static void Test(string name,params int [] score)

Xml数据库(xml存款和储蓄格局) :Xml Path={0}

16.艺术的重载
概念:方法的重载指的正是办法的称呼一致,可是参数不一样。
参数不一致,分为两种状态
1)、若是参数的个数相同,那么参数的档次就不能够一如既往。
2)、要是参数的项目相同,那么参数的个数就无法同一。
***艺术的重载跟再次来到值没有关联。

其余数据库,正是各数据库的链接了或布置项了。

用哪些就传哪个参
方法的重载便是足以放其他的参数

 

1七 、字符串的用法
字符串的length能够用来比较字的尺寸

OK,现在就能够实际操作增加和删除改查了,下边轻轻的讲一下。

18.方法中改变数组,不需求再次来到值来接受就足以改变。数组在章程中是个不等。

 

19.Cosole的两种办法
1)改变字体颜色
Console.ForegroundColor = ConsoleColor.Yellow;
2)console.clear(); 清屏
3)console.readkey(true);不出示输出的按键
4)输出时,保留小数点后两位
Double avg=10/3;
Console.WriteLine(“{0:0.00}”, avg);

二:Code First 代码实例

 

1:插入与创新代码和图如下:

起名 1

 

代码表达:

左边是充实和翻新的代码,左侧是一总结的言传身教操作winform界面,那里有两根本表明。

1:为啥实体类要用using包罗操作?

对此文本的操作,内部机制是在内部存款和储蓄器操作的,直到调用Disponse,才写到文本,因而,用using就是为着甘休时调用Disponse写到文件去的。

2:SetAutoParentControl是哪些东东?

当控件名按约束起名:为3字母+属性名,如txtUserName,txtPassword时,能够选拔电动取值法,

如此你拉N个控件上去,代码也绝不改变的。

传进this就是form本人,orm会遍历form下的控件实行取值。

 

2:对于其他Orm成效,暂不详写了,下载里有api文书档案表明,那里仅列出接口:

 /// <summary>

    /// 数据操作公共接口

    /// </summary>

    /// <typeparam name=”T”></typeparam>

    internal interface ICommon:IDisposable

    {

        bool Insert();

        bool Insert(InsertOp option);

        bool Insert(bool autoSetValue);

        bool Insert(bool autoSetValue, InsertOp option);

        

        bool Update();

        bool Update(object where);

        bool Update(object where, bool autoSetValue);

        bool Delete();

        bool Delete(object where);

     

        bool Fill(object where);

        MDataTable Select();

        MDataTable Select(string where);

        MDataTable Select(int topN, object where);

        MDataTable Select(int pageIndex, int pageSize, string where, out
int count);

        int GetCount(string where);

        bool Exists(string where);

        #region UI接口

        void GetFrom(object control);

        void GetFrom(object control, object value);

        bool GetFromJson(string jsonOrFileName);

        void SetAutoParentControl(object parent, params object[]
otherParent);

        void SetAutoPrefix(string autoPrefix, params string[]
otherPrefix);

        void SetSelectColumns(params object[] columnNames);

        void SetTo(object control);

        void SetTo(object control, object value, bool isControlEnabled);

        void SetTo(object control, object value);

        void SetToAll(params object[] parentControls);

        #endregion

        string TableName { get; set; }

        string DebugInfo { get; }

    }

 

三:基础表明解答

 

1:表从哪来、数据存哪?

系统在开首化时,会基于表名和链接的地方,会根据属性名称自动生成相应的表结构在地方目录,并且以json或xml方式存款和储蓄数据。

 

2:where支持sql?

辅助的,可是对于txt,xml,内置完毕了最基础的sql解析,能够满意>,>=,<,<=,=,is null,is not null,like,order by 等中央本询,不补助的有:函数,或group by等说话。

 

3:实用场景

 

神蹟,数据并相当小,用access太纠心,用sqlite服务器安全设置又区别意,用mssql又觉得杀牛不用牛刀,那txt,xml就该动手了。
现象一:比如一简约的布署文件,你写个实体类,就能够轻松的操作了,不用建啥数据库表 。
此情此景二:Code First的目标,当您须求火速营造代码时,直接就用txt就上了,然后工作代码就足以起来写了,不用等DBA建完库。
早先时期可依照供给,修改web.config的链接转到mssql,mysql,oracle等数据库,业务代码不变的哟。
自然了,this.SetInit(this, “Users”, “Conn”);应该那样写,对应webconfig的Conn配置项。
情景三:对于wp7开发,直接操作txt,依然很客观的。

 

 

4:多数据库包容性

用过

CYQ.Data的情侣都了然,支持多数据库是尤其轻松过度的,未来您玩txt,轻松换下链接就到mssql等任何数据库了,所以玩好三个,此外数据库同样是匹配的。

感兴趣的情人,能够玩一玩,过过Code First的瘾!!!

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图