LINQ简单案例
1.在visual studio 创建一个解决方案,新建一个控制台程序Kong
2.新建两个类,分别为Master 类和Kongfu类 Master类中包含成员如下,并重写ToString方法
namespace linQ
{
class Master
{
public int id;
public string name;//什么人
public string kongfu;//什么功夫
public int level;//武学等级 public override string ToString()
{
return "序号" + id +" "+ "名字" + name +" " +"功夫" + kongfu +" " +"武学等级" + level;
}
}
}
Kongfu类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace linQ
{
class Kongfu
{
public int id;//武学ID
public string name;//武学名称
public int power;//伤害 public override string ToString()
{
return "ID为" + id + "名字" + name + "伤害" + power;
}
}
}
Main方法中进行查询
using System;
using System.Collections.Generic;
using System.ComponentModel.Design;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace linQ
{
class Program
{
static void Main(string[] args)
{
//创建一个LIST列表,并插入数据
List<Master> master=new List<Master>()
{
new Master(){id=,kongfu="葵花宝典",level =,name = "东方不败"},
new Master(){id=,kongfu="独孤九剑",level = ,name ="令狐冲"},
new Master(){id=,kongfu ="辟邪剑谱",level = ,name="林平之"},
new Master(){id=,kongfu="葵花宝典",level =,name="岳不群"} };
List<Kongfu> kongfu=new List<Kongfu>()
{
new Kongfu(){id=,name ="葵花宝典",power =},
new Kongfu(){id=,name = "独孤九剑",power = },
new Kongfu(){id=,name = "辟邪剑谱",power = } };
//LINQ方法查询数据
/*var res = from m in master
where m.level > 8//查询武学等级大于8的人的相关数据
select m;*/
//如果查询两个表相关的数据
// var res = from master1 in master
// from kongfu1 in kongfu
//查询等级大于4并且上大于武学伤害大于200的相关数据
// where master1.level > 4 && kongfu1.power > 200
//select new {a=master1,b=kongfu1};
//select master1.name;//只输出修炼人的名称 //如果要对结果根据等级进行排序,查询修炼葵花宝典的人,并进行等级排序
/*var res1 = from m in master
from n in kongfu
where m.kongfu == "葵花宝典"
orderby m.level
select m;*/
//如果用Join on方法进行连接,根据两个类中的武学进行连接
var res2 = from m in master
join n in kongfu on m.kongfu equals n.name
where m.level >
select m.name; //用循环遍历输出显示想要查询的结果
foreach (var a in res2)
{
Console.WriteLine(a);
}
Console.ReadKey();
}
}
}
LINQ简单案例的更多相关文章
- Servlet请求头response应用简单案例
Servlet请求头response应用简单案例:访问AServlet重定向到BServlet,5秒后跳到CServlet,并显示图片: AServlet package cn.yzu; import ...
- winform 通过 html 与swf 交互 简单案例
在上一篇 winform 与 html 交互 简单案例 中讲了winform与html之间的简单交互,接下来的内容是在winform中以html为中转站,实现将swf嵌入winform中并实现交互. ...
- [Design Pattern] Front Controller Pattern 简单案例
Front Controller Pattern, 即前端控制器模式,用于集中化用户请求,使得所有请求都经过同一个前端控制器处理,处理内容有身份验证.权限验证.记录和追踪请求等,处理后再交由分发器把请 ...
- [Design Pattern] Observer Pattern 简单案例
Observer Pattern,即观察者模式,当存在一对多关系,例如一个对象一有变动,就要自动通知被依赖的全部对象得场景,属于行为类的设计模式. 下面是一个观察者模式的简单案例. Observer ...
- [Design Pattern] Mediator Pattern 简单案例
Meditor Pattern,即调解模式,用一个调解类类处理所有的沟通事件,使得降低多对象之间的沟通难度,属于行为类的设计模式.为了方便理解记忆,我也称其为,沟通模式. 下面是一个调解模式的简单案例 ...
- [Design Pattern] Iterator Pattern 简单案例
Iterator Pattern,即迭代时模式,按照顺序依次遍历集合内的每一个元素,而不用了解集合的底层实现,属于行为类的设计模式.为了方便理解记忆,我也会称其为遍历模式. 下面是一个迭代器模式的简单 ...
- [Design Pattern] Command Pattern 简单案例
Command Pattern, 即命令模式,把一个命令包裹在一个对象里面,将命令对象传递给命令的执行方,属于行为类的设计模式 下面是命令模式的一个简单案例. Stock 代表被操作的对象.Order ...
- [Design Pattern] Proxy Pattern 简单案例
Proxy Pattern, 即代理模式,用一个类代表另一个类的功能,用于隐藏.解耦真正提供功能的类,属于结构类的设计模式. 下面是 代理模式的一个简单案例. Image 定义接口,RealImage ...
- [Design Pattern] Flywight Pattern 简单案例
Flywight Pattern, 即享元模式,用于减少对象的创建,降低内存的占用,属于结构类的设计模式.根据名字,我也将其会理解为 轻量模式. 下面是享元模式的一个简单案例. 享元模式,主要是重用已 ...
随机推荐
- MVC-06 安装部署
部署网站往往是一件麻烦事,因为在安装部署的过程中,经常有许多步骤要运行,对于许多不太熟悉IIS/SQL的新手来说,部署网站编程一件非常困难且危险的事.Visual Studio 2012在ASP.NE ...
- 我被SQL注入撞了一下腰
网站的注入漏洞,应该说绝大多数做web开发的人都知道的事情.可是没想到从事6,7年开发工作的我,却会在这上栽了跟头,真是郁闷啊.心情很纠结,按照老婆的话,怎么感觉我像失恋了一样. 事情的起因还是在几个 ...
- Node Node
http://www.nodejs.org/ http://outofmemory.cn/code-snippet/1403/node-javascript-classic-introduction- ...
- 浅谈RFID电子标签封装技术
1RFID技术概述 1.1RFID技术概念 RFID是RadioFrequencyIdentification的缩写,即射频识别技术,俗称电子标签.RFID射频识别是一种非接触式的自动识别技术,它通过 ...
- Spring-data-redis: 分布式队列
Redis中list数据结构,具有"双端队列"的特性,同时redis具有持久数据的能力,因此redis实现分布式队列是非常安全可靠的.它类似于JMS中的"Queue&qu ...
- Qtwebkit配置,设置交叉编译环境 - croop520的专栏 - 博客频道 - CSDN.NET
Qtwebkit配置,设置交叉编译环境 - croop520的专栏 - 博客频道 - CSDN.NET Qtwebkit配置,设置交叉编译环境 分类: Qt Webkit 2012-04-12 15: ...
- linux网络相关命令使用
A,iptables使用示例 1,将请求80端口的包发送给本机8180端口(这样,别的机器访问本机的80端口时会被转发到8180端口去) iptables -t nat -A PREROUTING - ...
- [置顶] 基于.NET的快速信息化系统开发框架 — RDIFramework.NET — 系统目录
基于.NET的快速信息化系统开发整合框架 —RDIFramework.NET—系统目录 框架简单介绍 .NET快速开发整合框架(RDIFramework.NET),基于.NET的快速信息化系统开发.整 ...
- rebol高速入门
看了Java夜未眠之后,我也有点想学习其它语言了,希望能够完毕Python在写GUI程序和Web的程序的缺陷,写GUI程序比較看好VB,写Web程序看好PHP,不过首先想玩玩rebol. 翻译的Reb ...
- 原生JS实现字符串分割
window.onload = function(){ var str = 'abc,dbc,qqq,aaa'; var sp = split(str,',')//与字符串的分隔符要一直. alert ...