LINQ自帶的擴充套件方法
閱讀目錄
- GroupBy分組查詢
- Where條件篩選。
- Select()查詢
- join( ) 連表查詢
- OrderBy排序
- Skip,Take分頁(LINQ:使用Take和Skip實現分頁)’
- Distinct去重複
GroupBy分組查詢
//學生表 List<UserInfo> Info = new List<UserInfo>(){ new UserInfo(){UserName="史兄弟",UserPwd="123",TypeId=1}, new UserInfo(){UserName="海兄弟",UserPwd="4567",TypeId=2}, new UserInfo(){UserName="海森",UserPwd="79884",TypeId=3} }; //根據m => m.UserName.Substring(0, 1)這個條件來分組 var item = Info.GroupBy(m => m.UserName.Substring(0, 1)); //就是第一個字來分組 姓海的有幾位 //輸出 第一個foreach就是輸出 姓 foreach (var ite in item) { Console.WriteLine("-------------------"); Console.WriteLine("姓:" + ite.Key + " 有" + ite.Count() + "個人"); //這個foreach就是輸出 全稱 foreach (var Val in ite) { Console.WriteLine(Val.UserName); } }
Where條件篩選
//資料來源 string[] Content = { "海森", "吃屎", "二狗", "三炮" }; //使用Where() 條件的方法 var tent = Content.Where(m => m.Substring(0, 1) == "吃"); //m => m.Substring(0, 1) == "吃" : 查詢數組裡面的元素的第一個字等於 “吃” 就查詢出來 //輸出 foreach (var item in tent) { Console.WriteLine(item); }
Select()查詢
int[] inms = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; //Lambda 表示式 m => m * m 代表inms裡面的每個元素 var listNum = inms.Select(m => m * m); //把Select() 方法查詢出的內容 給 輸出 foreach (var item in listNum) { Console.WriteLine(item); }
連表查詢 join( ) 方法
//模仿兩張資料表
//學生表
List<UserInfo> Info = new List<UserInfo>(){
new UserInfo(){UserName="史兄弟",UserPwd="123",TypeId=1},
new UserInfo(){UserName="海兄弟",UserPwd="4567",TypeId=2},
new UserInfo(){UserName="海森",UserPwd="79884",TypeId=3}
};
//科目表
List<UserType> Type = new List<UserType>(){
new UserType(){TypeName="Java高階",TypeId=1},
new UserType(){TypeName="Server資料庫",TypeId=2},
new UserType(){TypeName="Asp.Net-MVC",TypeId=3}
};
var list = Info.Join( //join() 連表查詢
Type, //你要連的另一個表
item => item.TypeId, //你這個表和另一個表關連的欄位
User => User.TypeId,
(item, User) => new
{ // 要顯示的欄位
item.UserName,
item.UserPwd,
User.TypeName
}
);
//輸出
foreach (var item in list)
{
Console.WriteLine(item);
}
OrderBy排序
//模仿表
List<UserInfo> Info = new List<UserInfo>(){
new UserInfo(){UserName="史兄弟",UserPwd="123",TypeId=1},
new UserInfo(){UserName="海兄弟",UserPwd="4567",TypeId=2},
new UserInfo(){UserName="海森",UserPwd="79884",TypeId=3}
}; //OrderBy() 升序排序
// 如果要設定多重排序條件,請使用OrderBy()加上ThenBy()的組合
var Order = Info.OrderBy(m => m.UserName.Substring(0, 1)).ThenBy(m => m.TypeId);
//m => m.UserName.Substring(0,1): 第一個條件是 根據第一個字的字母來排序 //輸出
foreach (var item in Order)
{
Console.WriteLine(item.UserName);
}
Skip,Take分頁(LINQ:使用Take和Skip實現分頁)
//獲取資料列表,Model是類
IList<Model> list = dao.getmx(Model, pageInfo);
//DataTable資料
DataTable dt = ......;
//Skip是起始資料,表示從第n+1條資料開始.(此處pageNum應從0開始)
//pageNum:頁數、=0是第一頁,pageSize:一頁多少條
list = list.Skip(pageNum * pageSize).Take(pageSize).ToList();
//取前1-10條
list = list.Skip(0).Take(10).ToList();
//也可以這麼寫取前1-10條
list = list.Take(10).ToList();
//取第11-20條
list = list.Skip(10).Take(10).ToList();
Distinct去重複
//字串陣列
string[] idlist = new string[ ]{"aaa","bbb","aaa"};
//去除重複aaa
idlist = idlist.Distinct().ToArray();
相關推薦
LINQ自帶的擴充套件方法
閱讀目錄 GroupBy分組查詢 Where條件篩選。 Select()查詢 join( ) 連表查詢 OrderBy排序 Skip,Take分頁(LINQ:使用Take和Skip實現分頁)’ Distinct去重複 GroupBy分組查詢 //學生表
C# 不用系統自帶的方法將字符串類型123456轉換為值類型
pan array mstr [] ron string char highlight 方法 C# 不用系統自帶的方法將字符串類型123456轉換為值類型 static void Main(string[] args) {
JPA自帶findOne方法報錯原因
是由於jdk8的原因,有可能和spring boot的版本也關係, 兩種方式可選 註冊,返回類是Optional<Girl>, Optional是jdk8自帶的 @GetMapping(value = "/girls/{id}")public Optional<Gir
SpringMVC自帶toJson方法
公司同一型別的專案有兩個框架,老版本的要用到toJson,新版本的不需要,直接物件就好了。當時就有點奇怪,就看了下原來MVC利用@ResponseBody註解,在加上把fastjson包直接放到pom檔案裡引入就好了。 <mvc:annotation-dr
C#高階程式設計六十一天----LINQ中的擴充套件方法
LINQ中的擴充套件方法 LINQ中where擴充套件方法,要想使用,必須匯入using System.Linq;我們看一下這個方法的宣告: public static IEnumerable<TSource > Where<TSource>(thi
php7 contOS 編譯安裝全部自帶擴充套件
1. 安裝依賴庫 yum install screen gcc git vim wget openssl curl yum install gmp-devel libc-client-devel bzip2-devel enchant-devel libwebp-deve
C# WebAPI中DateTime類型字段在使用微軟自帶的方法轉json格式後默認含T的解決辦法
ria 重載方法 靜態 http bapi nts href 方法 edi 原文:C# WebAPI中DateTime類型字段在使用微軟自帶的方法轉json格式後默認含T的解決辦法
N9(Meego系統)刪除自帶軟體方法------筆者親測,可行,無副作用
將修改好了的status檔案複製到N9中,還是你正常連線電腦時所見的根目錄MyDocs/進入T端依次執行:devel-su回車換行rootme回車換行cp空格/home/user/MyDocs/status空格/var/lib/dpkg/status回車換行apt-get autoremove 回車換行以上
iOS重新定義系統自帶的方法,如 重定義 CGRectMake 和 CGPointMake 可以解決螢幕適配的問題
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">在網上找了些螢幕適配的方法,因為之前的適配把螢幕劃分為不同比例的部分,還
Android 實現對圖片 Exif 的修改(Android 自帶的方法)
很多時候我們都要對我們的圖片資訊進行一些處理,比如向圖片中寫入經緯度,拍攝時間,裝置資訊,作者等等。這個時候我們就要對我們的圖片Exif進行寫入資訊的操作,當然,我們想知道圖片的Exif資訊,也可以對E
Layui資料表格 加入 自定義擴充套件方法(重新渲染Render當前頁資料)
具體開發中遇到的問題如下, 資料表格內的 內容 通過 table.cache["SampleList"] 修改後,重新渲染或重新載入會導致當前操作的分頁 和 配置被清空。我修改了第5頁第X行的X列值,重新渲染後就回到了最原始第1頁或重新呼叫了介面。 Layui 官方提供的文件 提供的重新整理表格方法有幾種
Linq 下的擴充套件方法太少了,您期待的 MoreLinq 來啦
## 一:背景 ### 1. 講故事 前幾天看同事在用 linq 給記憶體中的兩個 model 做左連線,用過的朋友都知道,你一定少不了一個叫做 `DefaultIfEmpty` 函式,這玩意吧,本來很流暢的 from...in...join, 突然搞進來這麼一個函式,真的是噁心他媽給噁心開門,噁心到
form表單的應用:form對象自帶屬性和方法及提交時提交的數據.....
uil nsf fileread tex class dataurl asd who accept 1.html中含有form表單 (1)html <form id="picLoad" class="lt" style="width: 230px;" enctype=
關於ThinkCMF自帶插件上傳不了圖片的解決方法
.cn 方法 插件 thinkcmf 解決方法 刪除 打開 blog 文件 原因:是因為刪除了存放圖片的文件夾,這是cmf在windows的一個BUG 解決方法: 再到php.ini裏把 這個打開就解決了關於ThinkCMF自帶插件上傳不了圖片的解決方法
Geant4采用make和cmake編譯運行geant4自帶例子的方法
剛才 例子 1-1 build g++ 核數 emp cmake 編譯 該教程介紹如何將geant4中自帶的例子通過camke編譯成可執行文件,並運行程序。 1 在linux主目錄下創建一個geant4_workdir目錄,並將geant4自帶的例子B1復制到該目錄
SA:T1編寫主函數法和T2Matlab自帶的SA工具箱GUI法,兩種方法實現對二元函數優化求解——Jason niu
lin plot itl 最優解 IT 主函數 alt 圖片 gui %SA:T1法利用Matlab編寫主函數實現對定義域[-5,5]上的二元函數求最優解—Jason niu [x,y] = meshgrid(-5:0.1:5,-5:0.1:5); z = x.^2 +
java基礎39 MyEclipse自帶的常用快捷鍵和自己定義快捷鍵的方法步驟
inf www. shift -s htm html spa ctrl+左鍵 targe 1、MyEclipse自帶且常用的快捷鍵 內容提示(補全): Alt+/ 導包快捷鍵: Ctrl+Shift+o 格式化代碼: Ctrl+Shift+f 行代
卸載CentOS7-x64自帶的OpenJDK並安裝Sun的JDK7的方法
too sun -i get 查看 .com 32位 pat false 第一步:查看並卸載CentOS自帶的OpenJDK 安裝好的CentOS會自帶OpenJdk,用命令 java -version ,會有下面的信息: java version "1.
ASPxComboBox 自帶輸入法確定之後再搜索解決方法
name color value fixed bsp 顯示 val spa string <dx:ASPxComboBox ID="comChargeSubject_FixedFee" ClientInstanceName="comChargeSubject_Fix
centos安裝python3與自帶的python2共存方法
目的:由於centos自帶的python是2,我們要安裝python3,並使2和3共存,通過python2來呼叫2,python3來呼叫3 自帶的python的軟連線的結構是,python指向python2,python2指向python2.6 且自帶的python沒有安裝pip即pip