<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="WebApplication1.Index" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div> <asp:Button ID="Button1" runat="server" Text="隐式类型局部变量" onclick="Button1_Click" /> <br />
<asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="自动属性" /> <br />
<asp:Button ID="Button3" runat="server" Text="对象初始化器" onclick="Button3_Click" /> <br />
<asp:Button ID="Button4" runat="server" Text="集合初始化器" onclick="Button4_Click" /> <br />
<asp:Button ID="Button5" runat="server" Text="匿名类型" onclick="Button5_Click" /> <br />
<asp:Button ID="Button6" runat="server" Text="扩展方法" onclick="Button6_Click"
style="height: 21px" /> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<asp:Button ID="Button7" runat="server" Text="Lambda表达式"
onclick="Button7_Click" /> </div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace WebApplication1
{
//委托类型
public delegate int DelDemo(int a,int b); public partial class Index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ } protected void Button1_Click(object sender, EventArgs e)
{
//隐式类别局部变量
//1.定义时必须给值
//2.定义时变量的类型会根据值自动识别,所以在重新赋值时给的值必须对应类型的值
//3.局部变量可以用它定义
var v = ;
var v2 = 12.5; //v = "abc";//错
int i;
i = ;
//var v3;//错
//v3 = 20;
}
//自动属性
protected void Button2_Click(object sender, EventArgs e)
{
Student stu = new Student();
stu.Sex = "男";
stu.StuName = "张三";
stu.StuId = ""; }
//对象初始化
protected void Button3_Click(object sender, EventArgs e)
{
//可以少写构造函数,
Student stu = new Student() { StuId="" };
Student stu1 = new Student() { StuName = "李四", StuId = "" };
Student stu2 = new Student() { Sex = "男" };
}
//集合初始化器
protected void Button4_Click(object sender, EventArgs e)
{
int[] arr = { , , , };
List<int> list = new List<int>() { , , , }; Response.Write("长度:"+list.Count);
//例定义一个list,默认存放三个学生
List<Student> list1 = new List<Student>() {
new Student(){ StuId="",StuName="李四",Sex="男"},
new Student(){ StuId="",StuName="张三",Sex="女"},
new Student(){ StuId="", StuName="王五",Sex="男"} }; }
//匿名类型
protected void Button5_Click(object sender, EventArgs e)
{
//直接创建分数对象
var g = new { Gid = "", Score = , StuId = "" };//编译器会为我们自动生成一个类,类中包函以上属性
Response.Write("分数:"+g.Score);
}
//扩展方法
protected void Button6_Click(object sender, EventArgs e)
{
string pwd = TextBox1.Text;
string str = pwd.MD5();
string str1 = pwd.SHA1();
Response.Write("MD5加密后"+str);
Response.Write("SHA1加密后" + str1);
this.Alert("你好");
}
public int Sum(int a, int b)
{
return a + b;
} protected void Button7_Click(object sender, EventArgs e)
{
//Lambda表达本质上就是一个委托对象
DelDemo dd = new DelDemo(Sum);//委托的标准写法
//2.C#2.0中的匿名方法的写法
DelDemo dd2 = delegate(int a, int b)
{
return a - b;
};
//3.C#3.0中退出的Lambda表达式的写法
DelDemo dd3 = (a, b) => a - b;//{int x=a-b}; //调用委托的方法
int i = dd3(,);
Response.Write(i); //需要用Lambda表达式的扩展方法
List<int> list=new List<int>(){ ,,,,,};
int s = list.Sum();
Response.Write("所有人的成绩:"+s);
//把及格人的总分算出来
//func<方法的参数类型,方法的返回值类型>
Func<int, bool> f = (a) => a > ;
//where 查询符合委托条件的数,以集合返回
//IEnumerable是所有数组与集合父接口
IEnumerable<int> ds = list.Where(f);
int d = ds.Sum();
Response.Write("结果:"+d); } }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace WebApplication1
{ public class Student
{
string stuId; public string StuId
{
get { return stuId; }
set { stuId = value; }
} string stuName; public string StuName
{
get { return stuName; }
set { stuName = value; }
}
//1.自动属性,在编译器编译时,会为这个属性生成一个变量
//get与set操作的是这个变量
//2.get与set必须都有 public string Sex{ get;set; } }
}

Linq实例的更多相关文章

  1. Linq:Linq实例1..More

    本文会不断更新应用实例. 需求1:对一个Rate列表的RateLevel属性求和,然后除以Rate列表的数量求平均值. 没有Linq的做法: Int rateLevel = ; foreach (Ra ...

  2. 经典Linq实例语句

    从技术角度而言,LINQ定义了大约40个查询操作符,如select.from.in.where以及order by(C#中).使用这些操作符可以编写查询语句.不过,这些查询还可以基于很多类型的数据,每 ...

  3. Linq 实例

    1.分页 ).Take(); 2.分组 1)一般分组 //根据顾客的国家分组,查询顾客数大于5的国家名和顾客数var 一般分组 = from c in ctx.Customers group c by ...

  4. linq学习三个实例

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. linq中let关键字学习

    linq中let关键字就是对子查询的一个别名,let子句用于在查询中添加一个新的局部变量,使其在后面的查询中可见. linq中let关键字实例 1.传统下的子查询与LET关键字的区别     C# 代 ...

  6. 转 --简单解决Linq多条件组合问题

    本文笔者用清晰的实例,解决了Linq多条件问题,思路十分的清晰,笔者也很细心的做了描述,希望能给你带来帮助. 最近有个项目准备功能改版,师兄吩咐:尽可能地做到万般皆Linq,所以很多东西都要从存储过程 ...

  7. WebApi-JSON序列化循环引用

    Overview 最近被序列化,循环引用的问题,让我浑身酸爽.遇到这种异常是在搭建WebApi的时候,当我返回Linq实例类集合的时候出现的. 下定决心要解决这个问题.循环引用引起的原因是: 比如说: ...

  8. 最近学习工作流 推荐一个activiti 的教程文档

    全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...

  9. LinQ C#防注入式攻击实例代码

    注入式攻击是Web开放项目中开发人员的第一时间要考虑的问题,下面就我的开发实例分享给大家,有用的的话就点个赞吧. 定義賬戶信息類 public class UserInfors { public st ...

随机推荐

  1. RMAN基础知识补充

    一.FORMAT字符串替代变量 使用FORMAT参数时可使用的各种替换变量,如下: %c :备份片的拷贝数(从1开始编号): %d :数据库名称: %D :位于该月中的天数 (DD): %M :位于该 ...

  2. 夺命雷公狗---2016-linux---3之目录一般作用

    最好文件还是存放在自己的home目录下 建议:在很多时候如果需要系统备份最好去备份boot和etc这两个目录

  3. 夺命雷公狗---微信开发58----微网站之jquery_mobile之控件介绍

    我们上一节课里面介绍了基本的jqm是如何用的了,那么这一节课我们就开始玩玩他的控件 1...布局网格 <!DOCTYPE html> <html> <head> & ...

  4. Jsoup的demao

    package com.ch.jsoupdemo; import java.io.IOException; import org.jsoup.Jsoup;import org.jsoup.nodes. ...

  5. 关于UIView(转)

    曾经有人这么说过,在iphone里你看到的,摸到的,都是UIView,所以UIView在iphone开发里具有非常重要的作用.那么UIView我们到底知道多少呢.请看看下面的问题, 如果这些你都知道, ...

  6. 视频处理控件TVideoGrabber如何重新编码视频

    TVideoGrabber中可以对音频.视频剪辑进行重新编码剪辑,多的朋友知道这个功能更点,但是具体操作上还是不是很熟悉,这里总结一下,主要步骤如下: 1.通过指定开始和停止的时间,可以简单的剪辑视频 ...

  7. 161014、Comet4J介绍及使用(即时推送)

    简介 Comet4J是一个微型的即时推送框架(类似于goeasy),它分为服务端与客户端两部分,你只要将服务器端(JAR文件,目前仅支持Tomcat6.7)放入WEB-INF\lib,客户端(Java ...

  8. windows prompt personalize 设置cmd提示的相关

    由于有一篇随笔种我说要引用这篇文章,所以不得已也出来了,就像你说大话『我明天去吃屎』,结果你做到了. 我这记录一下有关windows prompt这是的变量,我不知道这算不算变量,因为windows变 ...

  9. struts2,实现Ajax异步通信

    用例需要依赖的jar: struts2-core.jar struts2-convention-plugin.jar,非必须 org.codehaus.jackson.jar,提供json支持 用例代 ...

  10. iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?

      Apple官方的文档为生成一个UIImage对象提供了两种方法: 1. imageNamed,其参数为图片的名字: 2. imageWithContentsOfFile,其参数也是图片文件的路径. ...