四:MVC之LINQ方法语法
linq 查询 有两种语法 ,前面我们说了一种,接下来说方法语法(我读着一直很绕口)
查询语法,方法语法
------------------------以下文字都是复制-----------------------------------
LINQ的优势
1、无需复杂学习过程即可上手
2、编写更少代码即可创建完整应用。
3、更快开发错误更少的应用程序。
4、无需求助奇怪的编程技巧就可合并数据源。
5、让新开发者开发效率更高。
6、任何对象或数据源都可以定制实现Linq适配器,为数据交互带来真正方便。
这种可以看这个, 这些字我都是复制的 给你们链接看看 https://blog.csdn.net/huchunfu/article/details/8245157
1、查询语法:
如:from p in Products select p;
2、方法语法:
如:Where()
OrderBy()
Select()
注意 方法语法好像也有sql语句的语法规则 比如 where 在order 前面
lists.Where(n => n.Contains("a")).OrderBy(n => n.Length).Select(n => n.ToUpper()); 可以运行
但是我把他这样就不能了
lists.OrderBy(n => n.Length).Select(n => n.ToUpper()).Where(n => n.Contains("a"));
--------------------------------分割线------------------------------------------------------
下面进入主题
1查询出所有含有a的字符串 不区分大小写
string[] list = {"AAAA","ABBBB","ABCCCC","ABCDDDD" }; //随便打的
var Quert = list
.Where(n => n.Contains("a")) //检测有没有a
.OrderBy(n => n.Length) //排序, 根据长度排序
.Select(n => n.ToLower()); //转换大小写
ViewBag.ddd = Quert; //报错在这里 然后输出
注意: var 可以变成IEnumerable 这是一个接口类型的 也可以简单的写成var
代码
public ActionResult Index()
{
//方法语法
string[] list = {"AAAA","ABBBB","ABCCCC","ABCDDDD" };
var Quert = list.Where(n => n.Contains("A")).OrderBy(n => n.Length).Select(n => n.ToLower());
ViewBag.ddd = Quert;
return View();
}
你们看看注释 ( 懒得打了 你们了解一下,下面才是正确代码)
@item 这样子才能正确输出信息 如果不加@,不然的话 只是输出item(一个毫无意义的item字符串)
@foreach (var item in ViewBag.ddd)
{
<h2>@item</h2> }
正确代码

这样子 就出来了
注意 LINQ方法语法,一般都是和lambda一起使用的
2 输出多个信息显示(linq查询语法和方法语法)
1 查询出所有年龄大于等于19的信息
创建一个Person 类
public class Person
{
public int Age { get; set; }
public string Name { get; set; }
public string Title { get; set; }
}
public ActionResult Index()
{
List<Person> person = new List<Person>{
new Person(){ Name="cl" , Title="my", Age=18},
new Person(){ Name="cl1" , Title="my", Age=19},
new Person(){ Name="cl2" , Title="my", Age=20}
};
// var Linq = from p in person where p.Age >= 19 select p; //LINQ查询语法
//LINQ方法语法
var Linq = person.Where(n=>n.Age>=19); // LINQ方法语法 你们自行比较
ViewBag.mes = Linq;
return View();
}
index视图
@foreach (var item in ViewBag.mes ) // 前面已经说了原因 一行语句只能写一个@
{
<h2><span>年龄:</span> @item.Age,<span>名字:</span>@item.Name</h2> // 由于是多个参数, 所以 带了参数
}

完毕, 欢迎交流!!!
四:MVC之LINQ方法语法的更多相关文章
- 二:MVC之LINQ查询语法
LINQ(Language Integrated Query)语言集成查询是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以操作内存数据的方式,查询数 ...
- LINQ之路 4:LINQ方法语法
书写LINQ查询时又两种语法可供选择:方法语法(Fluent Syntax)和查询语法(Query Expression). LINQ方法语法是非常灵活和重要的,我们在这里将描述使用链接查询运算符的方 ...
- linq查询语法和方法-簡單用法
來自:http://www.cnblogs.com/knowledgesea/p/3897665.html 1.简单的linq语法 //1 var ss = from r in db.Am_recPr ...
- LINQ之方法语法
上节讲到使用linq的查询关键字进行查询,这节讲一下linq查询的另一种方式--linq方法. 使用linq方法语法,必须要会用lambda表达式,配合lambda表达式才能体会到linq的优雅便捷. ...
- LINQ教程二:LINQ操作语法
LINQ查询时有两种语法可供选择:查询表达式语法(Query Expression)和方法语法(Fluent Syntax). 一.查询表达式语法 查询表达式语法是一种更接近SQL语法的查询方式. L ...
- .NET LINQ查询语法与方法语法
LINQ 查询语法与方法语法 通过使用 C# 3.0 中引入的声明性查询语法,介绍性 LINQ 文档中的多数查询都被编写为查询表达式. 但是,.NET 公共语言运行时 (CLR) 本身并不具 ...
- C#3.0新增功能09 LINQ 基础07 LINQ 中的查询语法和方法语法
连载目录 [已更新最新开发文章,点击查看详细] 介绍性的语言集成查询 (LINQ) 文档中的大多数查询是使用 LINQ 声明性查询语法编写的.但是在编译代码时,查询语法必须转换为针对 .NET ...
- Linq学习(主要参考linq之路)----2LINQ方法语法
方法语法:Fluent Syntax 方法语法是非常灵活和重要的.我们这里讲描述使用连接查询运算符的方式来创建复杂的子查询,方法语法的本质是通过扩展方法和Lambda表达式来创建查询. eg1: st ...
- 探讨mvc下linq多表查询使用viewModel的问题
最近在开发mvc3的时候发现了一个问题,就是如何在view页面显示多表查询的数据,最简单的办法就是使用viewmodel了,以下本人使用viewmodel来实现多表查询的3中方法, 先贴代码再说: 1 ...
随机推荐
- js时间戳转为日期函数
js时间戳转为日期函数 function add0(m){ return m<10?'0'+m:m; } //timestamp参数示例:1501234567 function format(t ...
- 关于比较js中两个对象相等 ==
“如果两个操作数都是对象,则比较他们是不是同一个对象(引用的对象在内存中的地址一样),如果两个操作数都指向同一个对象,则相等操作符返回true,否则,返回false”. 我做了一个例子 functio ...
- webdriervAPI(获取验证信息)
from selenium import webdriver driver = webdriver.Chorme() driver.get("http://www.baidu.co ...
- Java中的一些关键字:static,final,和abstract,interface,以及访问修饰符说明
1.关键字可以修饰的说明: 关键字 属性(是否可修饰) 方法(是否可修饰) 类(是否可修饰) static 是 是 是 final 是 是 是 abstract 否 是 是 2.关键字的意义: 关键字 ...
- 最新 汇通达java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿. 汇通达等10家互联网公司的校招Offer,因为某些自身原因最终选择了 汇通达.6.7月主要是做系统复习.项目复盘.Leet ...
- [LuoguP2124]奶牛美容_bfs_floyd_曼哈顿距离
奶牛美容 题目链接:https://www.luogu.org/problem/P2124 数据范围:略. 题解: 发现数据范围只有$50$,显然可以直接$bfs$求出联通块,$floyd$求出相邻两 ...
- 【AtCoder】ARC061
ARC061 C - たくさんの数式 / Many Formulas 这个其实\(10^5\)也能做.. 就是\(dp[i]\)表示到第i位的方案数,\(sum[i]\)表示延伸到第i位之前的所有方案 ...
- 【AC自动机】Censoring
[题目链接] https://loj.ac/problem/10059 [题意] 有一个长度不超过 1e5 的字符串 .Farmer John 希望在 T 中删掉 n 个屏蔽词(一个屏蔽词可能出现多 ...
- linux下的终端利器 tmux 安装以及使用
ref :https://www.jianshu.com/p/fd3bbdba9dc9 Introduction 为什么使用tmux? 因为如果我们用terminal连接remote server.发 ...
- Django ORM相关的一些操作
一般操作 看专业的官网文档,做专业的程序员! 必知必会13条 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 ...