语法:
1
XML是独立于软件和硬件的信息传输工具。
2 XML旨在传输信息,HTML旨在显示信息。
3 XML标签对大小写敏感。
4 属性值必须加引号 <note date="08/08/2008">
5 XML实体引用: < 小于 <
> 大于 >
& 和 &
&apos 单引号 '
" 引号 "
6 XMl中空格会被保留。
7 时间范围缩小,确定今天干什么明天干什么。
7.2 不要
对人倾诉。
7.1 每天都要有期待的事。
8 把你要采集的页面HTML源文件下载下来,分析其中
HTML代码然后抓取
你需要的数据,最后将这些数据保存到本地文件”。
10 DbContext用来与数据库建立连接完成对数据的相关操作
11 Repositorybase 数据读取
接口默认实现
12 使用LINQ to
JSON前,需要引用Newtonsoft.Json的dll和using Newtonsoft.Json.Linq的命名空间。
LINQ to
JSON主要使用到JObject, JArray, JProperty和JValue这四个对象.
JObject(J对象)用来生成一个JSON对象,简单来说就是生成”{}”,
JArray用来生成一个JSON数组,也就是”[]”,
JProperty(J数据)用来生成一个JSON数据,格式为key/value的值
JValue则直接生成一个JSON值。
13 easyui.css是easyui框架的主样式;
icon.css是easyui中用到的图标的样式;
jquery-1.7.2.min.js是easyui使用的基础;
jquery.easyui.min.js是easyui的核心
javascript库;
easyui-lang-zh_CN.js是easyui对中文的国际化支持;
easyui.formatter.js和easyui.edit.js是项目中使用到的两个扩展js库。
14 排序后返回值(orderby。。。)
lamda
表达式拍序
List<User> users = new List<User>();
List<User> temp1 = users.OrderBy(p=>p.UserId).ToList();
Func<User, int> orderby = (user => user.UserId);
List<User> temp2 = users.OrderBy(orderby).ToList();
15 C# 的时间戳转换
转自:C# 和 Linux 时间戳转换
/// 时间戳转为C#格式时间
private DateTime GetTime(string timeStamp)
{
DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
long lTime = long.Parse(timeStamp + "0000000");
TimeSpan toNow = new TimeSpan(lTime); return dtStart.Add(toNow);
}
/// DateTime
时间格式转换为Unix时间戳格式
/// <param name=”time”></param>
private int ConvertDateTimeInt(System.DateTime time)
{
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
return (int)(time - startTime).TotalSeconds;
}
_________________
2016 .7.16
1 ?: EasyUI From表单数据绑定:
2 ?: 联动的数据查询
datagrid只能接受Json的数据格式
表达式树:
Expression<func<int,int,int>>expr=(x,y)=>{retutn x+y;};
$(
function($))
submit 用于表单提交事件
Pay each other, a feedback to sustain feelings
Unilateral pay a difficult relationship
________________________________________
easyui的textbox和validatebox的 赋值区别
textbox:$('userId').textbox('setValue','aaa');
validatebox :$('userId').val('aaa');
_______________________________________________
function formatStatus(value, rows, index) {
if (rows.Status == "0") {
return "刚申请";
}
1 Repository模式主要是封装数据查询和存储逻辑;
2 8.20:C#基础code量(无)
3 8.22:
2017.09.21
1 结构是
值类型;
结构不支持继承;
2 操作字符串 http://www.cnb
logs.com/junbird-nest/archive/2012/03/23/2413482.html
string s ="";
s="ABCD";
Console.WriteLine(s[0]);输出“A”;
Console.WriteLine(s.Leng);//"输出4";
打散成
字符串数组;
s="ABCD";
char[] arr=s.ToCharArray();//字符串打散成字符串数组{'A','B','C','D',}
Console.WriteLine(arr[0]); // 输出数组的第一个元素,输出"A"
3 s ="ABCD";
Console.WriteLine(s.Substring(1)); // 从第2位开始(索引从0开始)截取一直到字符串结束,输出"BCD"
Console.WriteLine(s.Substring(1, 2)); // 从第2位开始截取2位,输出"BC"
表单验证:http://www.cnblogs.com/hellowzl/p/5612122.html
2017.7.24
1
枚举关键字:emun,枚举是定义好类型和变量的类,便于整个项目调用一致
2 tostring(),转向string类型"to"是转向的意思
3 public string _name "_name"加上"_"表示_name是字段而不是变量
4 数组可以存储多个相同类型的变量,语法:“数组类型[] 数组名称= new 数组类型[数组长度];(int[] nums=new int[10])”
int[] nums=new int[10] 声明数组,只确定了数组的长度,
int[] nums={1,2,3,4}; 声明数组,不仅确定了数组的长度还确定了数值
5 static;静态的方法
返回值类型:如果不需要返回值类型,用void
6 return:返回值,1,在方法中返回要返回的值,
2,立即结束本次方法
7 方法:public void 方法名(参数类型 参数)
{
}
方法必须在Main中调用才能被执行,调用语法: 类名.方法名();
方法有返回值的必须创建字符串来接收 int name=Console.Redline();Console为类名,Redline为方法名
2017.7.26
int[] number = {1,2,3,4,5,7,8,9};
int[] res=new int[4];
res[0] =nums[0];
res[1]=nums[0];
res[2]=0;
1 out参数
在一个方法中可以返回多个不同类型的值
语法:
static void Main(string[] arge)
{
int num;
bool b=int.TryParse("123abc",out num);
console.Writeline(num);
console.Writeline(b)
console.WriteKey();
}
public static bool MyTryParse(string s,out int result)
{
result=0;
try
{
result = Convert.ToInt32(s);
return true;
}
catch
{
return false;
}
}
创建一个数组方法:
public static int[] getnums(int[] nums)
{
}
2017.7.27
ref函数:在方法中不必返回值,调用时改变变量的值
a=1 b=3
a=b-a
b=b-a
a=a-b
2017.7.28
方法的
重载:
概念;方法的名称相同,参数不同,
(1)如果参数的个数相同,参数的类型就能相同;反之亦然;
(2)方法的重载和返回值没有关系
方法的
递归:
概念;方法自己调用自己
public static void tell()
{
.........
..........
tell();
}
2017.7.29
2017.7.30
写好一个类后需要
创建类的对象
创建类的对象在Main函数中
public
class Person
{
public string _name
public int _age
public string _gender
}
创建类的对象过程就是类的实例,
给类的对象赋值就是对象的初始化
使用关键字new
static void Main(string[] arge)
{
创建类的对象
Person sunquan=new Person();
sunquan._name="孙权";
sunquan._age="23";
sunquan._gender="男";s
}
private访问修饰符,只能在当前类的内部访问
2017.7.31
类的属性
string _name
public string Name
{
get{_name !=""}
set
}
静态方法和非静态的区别
(1)在非静态中可以有静态成员也可以有静态成员
(2)在调用静态成员的时候需要使用对象名去调用
静态的使用;需要把类当做一个“工具”使用时,这个时候可以考虑写成静态的方法
2017.8.1
构造函数作用:构造函数 是一种特殊的方法 主要用来在
创建对象时初始化对象 即为对象成员变量赋初始值
1 构造函数没有返回值,修饰符必须是public,名称必须和类名一样,不能有void。
2 例:public Student(int name,string gender,string school)
给对象属性赋值:this.Name=name,
this.Gender=gender,
this.School=school
3 创建的类如果不写构造函数会有一个无参的构造函数,所有无参的构造函数都是默认构造函数
无论何时,只要使用 new 运算符实例化对象,并且不为 new 提供任何参数,就会调用默认构造函数。
4 构造函数可以重载,可以有多个参数不同的构造函数
定义:
class A
{
public A(){}
}
使用:
A a=new A();//在这里,A()就是就是构造函数。
构造函数的调用:
class BaseClass
{
private int numA;
public BaseClass()
{
Console.WriteLine("基类的无参数构造函数. value:{0}", numA);
}
public BaseClass(int i)
{
this.numA = i;
Console.WriteLine("基类带一个参数的构造函数. value:{0}", numA);
}
}
this只是调用本身
base是调用基类的有参数构造函数。
析构函数:
2017.8.4
分割字符窜split,Split()返回字符串类型数组
2008-08-08修改为2008年1月2日
string s= "2008-08-08"
string[] date=s.Split(new char[] {'-'}),StringSplitOptions.RemoveEmtyEnt
Console.WriteLine("{0}年{1}月{2},date[0],date[1],date[2]");
Console.ReadLine();
2017.8.7
Substring截取字符串,
string str = "今天天气好晴朗"
str =str.Substring(1,2);
、
Console.writeline(str);
Console.RedKey();
2017.8.10
继承:
子类继承父类,子类可以访问到的就是继承过来的,
子类继承父类的属性和方法,但是没有继承父类的私有字段。
子类继承只能继承一个父类,
new关键字
(1)创建对象
(2)隐藏从父类那继承过来的同名成员
2017.8.11
里氏转换,
(1)子类可以赋值给父类
(2)
2017.8.12
集合:很多数据的集合,特点长度任意可变,类型任意。
创建一个集合对象,ArrayList list = new ArrayList();
添加数据: list.Add(1);
list.Add(3.14);
list.Add(true);
list.Add("张三");
添加数组 list.Add(new int[]{1,2,3,4,5,6,7,8,9});
2017.8.15
里氏转换
父类 person 子类student
Person p = new student();子类赋值给父类
如果父类装的是子类,父类可以强转为子类对象。
student ss =(student)p;
2017.8.16
HashTable集合
2017.8.17
2017.8.20
绝对路径:在电脑上的路径
相对的路径:在程序上的路径
1,list
泛型集合
泛型集合对数组的元素类型有定义,长度可以改变
创建泛型集合的对象
int[] nums=list.Toarray();集合转数组
list<int> listto=nums.Tolist();数组转集合
装箱、拆箱、
int n=10;
object j=n;//装箱;
int i=(int)j;拆箱;
2017.08.22
多态:
继承关系,
抽象类:
2017.08.24
类;FileSteamer操作字节
访问修饰符
public 公开的
private 私有的 只能在当前类的内部访问
protected 受保护的。只能在当前类的内部以及该类的子类中访问
internal 只能在当前项目中访问
protectted internal
能够修饰类的只有;public internal
public ......
internal.....
(2)
设计模式
设计这个项目的方式、
(3)值类型:int string decimal enum struct
引用类型:string 数组
自定义类 集合 object 接口
序列化:将对象转化为
二进制;
反序列化:将二进制转化为对象;
作用:传输数据;
2017.08.27
接口:接口是一种规范,只要一个类继承了这个接口就必须实现这个接口的所有成员;
语法特征:接口中的成员不允许添加访问修饰符,默认就是public;
不允许写有具体方法体的函数;
接口不能包含字段和构造函数;
接口成员可以有方法;不允许有具体方法
接口不能被实例化(抽象类不能被实例化;静态类不能被实例化),也就是说不能new接口名字;
接口只能继承接口;类可以继承接口;
声明接口的关键字;
2017.08.31
winform窗体应用程序,拖控件:垃圾代码多,运行速度慢;
2017.7.24
1 枚举关键字:emun,枚举是定义好类型和变量的类,便于整个项目调用一致
2 tostring(),转向string类型"to"是转向的意思
3 public string _name "_name"加上"_"表示_name是字段而不是变量
4 数组可以存储多个相同类型的变量,语法:“数组类型[] 数组名称= new 数组类型[数组长度];(int[] nums=new int[10])”
int[] nums=new int[10] 声明数组,只确定了数组的长度,
int[] nums={1,2,3,4}; 声明数组,不仅确定了数组的长度还确定了数值
5 static;静态的方法
返回值类型:如果不需要返回值类型,用void
6 return:返回值,1,在方法中返回要返回的值,
2,立即结束本次方法
7 方法:public void 方法名(参数类型 参数)
{
}
方法必须在Main中调用才能被执行,调用语法: 类名.方法名();
方法有返回值的必须创建字符串来接收 int name=Console.Redline();Console为类名,Redline为方法名
2017.7.26
int[] number = {1,2,3,4,5,7,8,9};
int[] res=new int[4];
res[0] =nums[0];
res[1]=nums[0];
res[2]=0;
1 out参数
在一个方法中可以返回多个不同类型的值
语法:
static void Main(string[] arge)
{
int num;
bool b=int.TryParse("123abc",out num);
console.Writeline(num);
console.Writeline(b)
console.WriteKey();
}
public static bool MyTryParse(string s,out int result)
{
result=0;
try
{
result = Convert.ToInt32(s);
return true;
}
catch
{
return false;
}
}
创建一个数组方法:
public static int[] getnums(int[] nums)
{
}
2017.7.27
ref函数:在方法中不必返回值,调用时改变变量的值
a=1 b=3
a=b-a
b=b-a
a=a-b
2017.7.28
方法的重载:
概念;方法的名称相同,参数不同,
(1)如果参数的个数相同,参数的类型就能相同;反之亦然;
(2)方法的重载和返回值没有关系
方法的递归:
概念;方法自己调用自己
public static void tell()
{
.........
..........
tell();
}
2017.7.29
2017.7.30
写好一个类后需要创建类的对象
创建类的对象在Main函数中
public class Person
{
public string _name
public int _age
public string _gender
}
创建类的对象过程就是类的实例,
给类的对象赋值就是对象的初始化
使用关键字new
static void Main(string[] arge)
{
创建类的对象
Person sunquan=new Person();
sunquan._name="孙权";
sunquan._age="23";
sunquan._gender="男";s
}
private访问修饰符,只能在当前类的内部访问
2017.7.31
类的属性
string _name
public string Name
{
get{_name !=""}
set
}
静态方法和非静态的区别
(1)在非静态中可以有静态成员也可以有静态成员
(2)在调用静态成员的时候需要使用对象名去调用
静态的使用;需要把类当做一个“工具”使用时,这个时候可以考虑写成静态的方法
2017.8.1
构造函数作用:构造函数 是一种特殊的方法 主要用来在创建对象时初始化对象 即为对象成员变量赋初始值
1 构造函数没有返回值,修饰符必须是public,名称必须和类名一样,不能有void。
2 例:public Student(int name,string gender,string school)
给对象属性赋值:this.Name=name,
this.Gender=gender,
this.School=school
3 创建的类如果不写构造函数会有一个无参的构造函数,所有无参的构造函数都是默认构造函数
无论何时,只要使用 new 运算符实例化对象,并且不为 new 提供任何参数,就会调用默认构造函数。
4 构造函数可以重载,可以有多个参数不同的构造函数
定义:
class A
{
public A(){}
}
使用:
A a=new A();//在这里,A()就是就是构造函数。
构造函数的调用:
class BaseClass
{
private int numA;
public BaseClass()
{
Console.WriteLine("基类的无参数构造函数. value:{0}", numA);
}
public BaseClass(int i)
{
this.numA = i;
Console.WriteLine("基类带一个参数的构造函数. value:{0}", numA);
}
}
this只是调用本身
base是调用基类的有参数构造函数。
析构函数:
2017.8.4
分割字符窜split,Split()返回字符串类型数组
2008-08-08修改为2008年1月2日
string s= "2008-08-08"
string[] date=s.Split(new char[] {'-'}),StringSplitOptions.RemoveEmtyEnt
Console.WriteLine("{0}年{1}月{2},date[0],date[1],date[2]");
Console.ReadLine();
2017.8.7
Substring截取字符串,
string str = "今天天气好晴朗"
str =str.Substring(1,2);
、
Console.writeline(str);
Console.RedKey();
2017.8.10
继承:
子类继承父类,子类可以访问到的就是继承过来的,
子类继承父类的属性和方法,但是没有继承父类的私有字段。
子类继承只能继承一个父类,
new关键字
(1)创建对象
(2)隐藏从父类那继承过来的同名成员
2017.8.11
里氏转换,
(1)子类可以赋值给父类
(2)
2017.8.12
集合:很多数据的集合,特点长度任意可变,类型任意。
创建一个集合对象,ArrayList list = new ArrayList();
添加数据: list.Add(1);
list.Add(3.14);
list.Add(true);
list.Add("张三");
添加数组 list.Add(new int[]{1,2,3,4,5,6,7,8,9});
2017.8.15
里氏转换
父类 person 子类student
Person p = new student();子类赋值给父类
如果父类装的是子类,父类可以强转为子类对象。
student ss =(student)p;
2017.8.16
HashTable集合
2017.8.17
2017.8.20
绝对路径:在电脑上的路径
相对的路径:在程序上的路径
1,list泛型集合
泛型集合对数组的元素类型有定义,长度可以改变
创建泛型集合的对象
int[] nums=list.Toarray();集合转数组
list<int> listto=nums.Tolist();数组转集合
装箱、拆箱、
int n=10;
object j=n;//装箱;
int i=(int)j;拆箱;
2017.08.22
多态:
继承关系,
抽象类:
2017.08.24
类;FileSteamer操作字节
访问修饰符
public 公开的
private 私有的 只能在当前类的内部访问
protected 受保护的。只能在当前类的内部以及该类的子类中访问
internal 只能在当前项目中访问
protectted internal
能够修饰类的只有;public internal
public ......
internal.....
(2)设计模式
设计这个项目的方式、
(3)值类型:int string decimal enum struct
引用类型:string 数组 自定义类 集合 object 接口
序列化:将对象转化为二进制;
反序列化:将二进制转化为对象;
作用:传输数据;
2017.08.27
接口:接口是一种规范,只要一个类继承了这个接口就必须实现这个接口的所有成员;
语法特征:接口中的成员不允许添加访问修饰符,默认就是public;
不允许写有具体方法体的函数;
接口不能包含字段和构造函数;
接口成员可以有方法;不允许有具体方法
接口不能被实例化(抽象类不能被实例化;静态类不能被实例化),也就是说不能new接口名字;
接口只能继承接口;类可以继承接口;
声明接口的关键字;
2017.08.31
winform窗体应用程序,拖控件:垃圾代码多,运行速度慢;
2017.9.03
练习代码熟练度
2017.9.16