delegates && xml && LINQ

先把上次的delegates总结一下~

1.delegates

delegates将event与action或method关联起来。封装member function。相当于c++里的指针,但功能多于指针。

结构为:delegate datatype methodname(object a,object b);

delegates的方法有:event handling:当事件发生时,调用函数;

 callbacks:当结束某一动作时,调用函数;


1.声明与简单的使用。

 1             public delegate void DelegateDemo(String s);
 2             static void Main(string[] args)
 3             {
 4                 DelegateDemo dele = new DelegateDemo(Greeting);
 5                 dele("hello!");
 6             }
 7             static void Greeting(string  s)
 8             {
 9                 Console.WriteLine(s);
10             }

结果为:

同样程序可变为:

 1         class GreetingHello
 2         {
 3             public void Greeting(string s)
 4             {
 5                 Console.WriteLine(s);
 6             }
 7         }
 8         public class setArrBounds
 9         {
10
11             public delegate void DelegateDemo(String s);
12             static void Main(string[] args)
13             {
14                 GreetingHello gh = new GreetingHello();
15                 DelegateDemo dele = new DelegateDemo(gh.Greeting);
16                 dele("hello!");
17             }
18
19         }

结果相同。

2.multicast delegates 多重委托

 1         class GreetingHello
 2         {
 3             public void Greeting(string s)
 4             {
 5                 Console.WriteLine(s);
 6             }
 7             public void SendGreetingToFile(string s)
 8             {
 9                 StreamWriter writer =
10                    new StreamWriter(@"C:\Users\lenovo\Desktop\delegates.txt");
11                 writer.WriteLine(s);
12                 writer.Close();
13             }
14         }
15         public class setArrBounds
16         {
17
18             public delegate void DelegateDemo(String s);
19             static void Main(string[] args)
20             {
21                 GreetingHello gh = new GreetingHello();
22                 DelegateDemo dele = new DelegateDemo(gh.Greeting);
23                 dele += new DelegateDemo(gh.SendGreetingToFile);
24                 dele("hello,delegates!");
25             }
26
27         }

结果: 

3.thread delegates 线程委托

4.anonymous delegates 匿名方法

即不声明完整的类,而是用匿名类,这样可以使代码更加简洁易懂。但不适合类中含有太多方法。

 1             public delegate void DelegateDemo(String s);
 2             static void Main(string[] args)
 3             {
 4
 5                 DelegateDemo dele = delegate(string s)
 6                 {
 7                     Console.WriteLine(s);
 8                 };
 9
10                 dele("It‘s anonymous way~~");
11             }

结果为:

 下面是新的内容

1.xml

1)xml(可扩展标记语言),它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

xml 与 html(超文本标记语言) 的比较:

  是否可自定义tag 是否成对出现 是否大小写敏感
xml
html

2)XML 文档的第一行可以是一个 XML 声明,根元素的开始和结束标记用于包围 XML 文档的内容。一个文件只能有一个根元素,并且需要使用 “包装器” 包含它。在下面的例子中<recipe>就是一个跟元素。在构建文档时,内容和其他标记必须放在 <recipe> 和 </recipe> 之间。

1 <?xml version="1.0" encoding="utf-8"?>
2 <recipe>
3   <recipename>Ice Cream Sundae</recipename>
4   <preptime>5 minutes</preptime>
5 </recipe>

3)命名元素

英文字母开头,不允许出现空格,前后必须保持一致。

4)嵌套元素

一定要让子元素在父元素里面,不能相互穿插。

5)添加属性

属性包含在<>中名字的后面,用双引号引起来。

1 <?xml version="1.0" encoding="utf-8"?>
2 <recipe type="dessert">
3   <recipename cuisine="american" servings="1">Ice Cream Sundae</recipename>
4   <preptime>5 minutes</preptime>
5 </recipe>

关于创建xml文档可以在前台,也可以在后台。

相关参照http://www.cnblogs.com/jhxk/articles/1872930.html

2.LINQ(语言集成查询)

是使用c#代码来查询数据库。

因为linq默认不能与mysql相连,但是我的电脑里没有sql server,只有mysql,所以就百度了一下怎么 linq for mysql。

首先下载安装mysql-connector-net,再重启电脑,打开vs后在服务器资源管理器中右键数据连接,添加链接,会出现下面的窗口:点击mysql

然后输入你的server name, user name,password即可添加成功。

(这里注意了,这个是需要有密码的用户名的,而mysql用的时候一般都默认root无密码登陆,修改密码时一定要百度好了再改,千万不要瞎改,下场就是卸了mysql重装(血的教训啊!),也可以对特定的数据库自己创建一个新用户(推荐))

项目-->新添新项-->ADO.NET实体数据模型

然后一路“下一步”,就可以运行了~~效果如下(只是简单地建了三个table, 没有导入数据)

end

时间: 2024-10-07 17:17:29

delegates && xml && LINQ的相关文章

C# Xml Linq XDocument 基本操作

person.xml <?xml version="1.0" encoding="utf-8"?> <MyP> <P1> <Person id="cz001"> <Name>张三</Name> <Age>18</Age> </Person> <Person id="cz002"> <Name>李四

xml linq

这里讲解一下linq对xml的基本操作,包括: 新建xml.新建节点 查询节点 插入属性.插入节点 替换节点 在这里我封装了一些常用的方法: public class XmlHelper { /// <summary> /// xml路径名 /// </summary> public string XmlPath { get; set; } /// <summary> /// 初始化XmlPath /// </summary> /// <param n

C#使用System.xml.linq来生成XML文件

直接看代码: /* * <?xml version="1.0" encoding="utf-8"?> * <Files Path="123" ExeFile="456"> * <File> * <LocalName>abc</LocalName> * <FileSize>abc</FileSize> * </File> * <

24.C#LINQ TO XML(十二章12.3)

自己也写了那么多,但还有很多不懂,有点浮躁吧,但饭还是要吃啊,说说LINQ TO XML吧. LINQ TO XML位于System.Xml.Linq程序集,并且大多数类型位于System.Xml.Linq命名空间.该命名空间下几乎所有类型都以X为前缀;普通DOM API中的Element对应LINQ TO XML中的XElement.列举下都有哪些类型. XName:表示元素和特性的名称 XNamespace:表示XML的命名空间,通常是一个URL XObject:是XNode和XAttrib

LINQ to XML 编程基础

1.LINQ to XML类 以下的代码演示了如何使用LINQ to XML来快速创建一个xml: 隐藏行号 复制代码 ?创建 XML public static void CreateDocument() { string path = @"d:\website"; XDocument xdoc = new XDocument(new XDeclaration("1.0", "utf-8", "yes"), new XEle

linq to xml

1 using UnityEngine; 2 using System; 3 using System.Collections; 4 using System.Collections.Generic; 5 using DG.Tweening; 6 using System.Linq; 7 using System.Xml.Linq; 8 9 public class MyTest2 : MonoBehaviour 10 { 11 12 string Path { get; set; } 13 s

linq to xml 基本操作

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Linq; namespace linqXML { class Program { static void Main(string[] args) { XDocument doc = new XDocument(); XElement rt = new XElement("root"

Linq之Linq to XML

目录 写在前面 系列文章 linq to xml 总结 写在前面 在很多情况下,都可以见到使用xml的影子.例如,在 Web 上,在配置文件.Microsoft Office Word 文件(将word文档另存为xml文件,这也提供了一种通过操作xml,操作word的一种方式)以及数据库中,都可以看到 XML.而linq to xml提供了一种操作xml更便捷的方式. 系列文章 Linq之Lambda表达式初步认识 Linq之Lambda进阶 Linq之隐式类型.自动属性.初始化器.匿名类 Li

Linq学习随笔二------LINQ to XML

LINQ to XML LINQ to XML provides an in-memory XML programming interface that leverages the .NET Language-Integrated Query (LINQ) Framework. LINQ to XML uses the latest .NET Framework language capabilities and is comparable to an updated, redesigned D