• 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:UserslenovoDesktopdelegates.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

  • 相关阅读:
    sql中table用法
    sql group by
    C#excel导入
    手写简单JDBC
    连接池+事务
    mysql+jdbc
    mysql(多表)
    jsp标签+jstl
    页面跳转+路径问题
    ajax 动态获取数据库中的值
  • 原文地址:https://www.cnblogs.com/3013218071zjr/p/4457503.html
Copyright © 2020-2023  润新知