LINQ查詢操作符之First、FirstOrDefault、Last、LastOrDefault、ElementAt、ElementAtOrDefault、Contains、Any、All、Coun
成都創(chuàng)新互聯(lián)專注于米林企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站定制開發(fā)。米林網(wǎng)站建設(shè)公司,為米林等地區(qū)提供建站服務(wù)。全流程按需規(guī)劃網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
介紹
·First - 返回集合中的第一個元素;不延遲
·FirstOrDefault - 返回集合中的第一個元素(如果沒有則返回默認值);不延遲
·Last - 返回集合中的最后一個元素;不延遲
·LastOrDefault - 返回集合中的最后一個元素(如果沒有則返回默認值)
·ElementAt - 返回集合中指定索引的元素;不延遲
·ElementAtOrDefault - 返回集合中指定索引的元素(如果沒有則返回默認值);不延遲
·Contains - 判斷集合中是否包含有某一元素;不延遲
·Any - 判斷集合中是否有元素滿足某一條件;不延遲
·All - 判斷集合中是否所有元素都滿足某一條件;不延遲
·Count - 返回集合中的元素個數(shù),返回int;不延遲
·LongCount - 返回集合中的元素個數(shù),返回long;不延遲
·Sum - 集合應(yīng)為數(shù)字類型集合,求其和;不延遲
·Min - 返回集合的最小值;不延遲
·Max - 返回集合的最大值;不延遲
·Average - 集合應(yīng)為數(shù)字類型集合,求其平均值;不延遲
·Aggregate - 根據(jù)輸入的表達式獲取一個聚合值;不延遲
·Cast - 將集合轉(zhuǎn)換為強類型集合;延遲
·DefaultIfEmpty - 查詢結(jié)果為空則返回默認值;延遲
·SequenceEqual - 判斷兩個集合是否相同;不延遲
·OfType - 過濾集合中的指定類型;延遲
·ToArray - 將集合轉(zhuǎn)換為數(shù)組;不延遲
·ToList - 將集合轉(zhuǎn)換為List
·ToDictionary - 將集合轉(zhuǎn)換為
示例
Summary3.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using System.Collections.Generic;
using DAL;
public partial class LINQ_Summary3 : System.Web.UI.Page
{
NorthwindDataContext _ctx = new NorthwindDataContext();
string[] _ary = null;
protected void Page_Load(object sender, EventArgs e)
{
_ary = new string[] { "asp.net", "csharp", "xhtml", "css", "javascript",
"wcf", "wpf", "silverlight", "linq", "wf",
"sqlserver", "asp.net ajax", "ssis", "ssas", "***s" };
// First - 返回集合中的第一個元素;不延遲
// FirstOrDefault - 返回集合中的第一個元素(如果沒有則返回默認值);不延遲
Summary_First_FirstOrDefault();
// Last - 返回集合中的最后一個元素;不延遲
// LastOrDefault - 返回集合中的最后一個元素(如果沒有則返回默認值)
Summary_Last_LastOrDefault();
// ElementAt - 返回集合中指定索引的元素;不延遲
// ElementAtOrDefault - 返回集合中指定索引的元素(如果沒有則返回默認值);不延遲
Summary_ElementAt_ElementAtOrDefault();
// Contains - 判斷集合中是否包含有某一元素;不延遲
Summary_Contains();
// Any - 判斷集合中是否有元素滿足某一條件;不延遲
Summary_Any();
// All - 判斷集合中是否所有元素都滿足某一條件;不延遲
Summary_All();
// Count - 返回集合中的元素個數(shù),返回int;不延遲
// LongCount - 返回集合中的元素個數(shù),返回long;不延遲
Summary_Count_LongCount();
// Sum - 集合應(yīng)為數(shù)字類型集合,求其和;不延遲
Summary_Sum();
// Min - 返回集合的最小值;不延遲
Summary_Min();
// Max - 返回集合的最大值;不延遲
Summary_Max();
// Average - 集合應(yīng)為數(shù)字類型集合,求其平均值;不延遲
Summary_Average();
// Aggregate - 根據(jù)輸入的表達式獲取一個聚合值;不延遲
Summary_Aggregate();
// Cast - 將集合轉(zhuǎn)換為強類型集合;延遲
Summary_Cast();
// DefaultIfEmpty - 查詢結(jié)果為空則返回默認值;延遲
Summary_DefaultIfEmpty();
// SequenceEqual - 判斷兩個集合是否相同;不延遲
Summary_SequenceEqual();
// OfType - 過濾集合中的指定類型;延遲
Summary_OfType();
// ToArray - 將集合轉(zhuǎn)換為數(shù)組;不延遲
Summary_ToArray();
// ToList - 將集合轉(zhuǎn)換為List
Summary_ToList();
// ToDictionary - 將集合轉(zhuǎn)換為
Summary_ToDictionary();
}
}
First - 返回集合中的第一個元素;不延遲
FirstOrDefault - 返回集合中的第一個元素(如果沒有則返回默認值);不延遲
/**////
/// First - 返回集合中的第一個元素;不延遲
/// FirstOrDefault - 返回集合中的第一個元素(如果沒有則返回默認值);不延遲
///
void Summary_First_FirstOrDefault()
{
string s = (from a in _ary
select a).First(a => a.StartsWith("s"));
// string s = (from a in _ary
// select a).FirstOrDefault(a => a.StartsWith("xxx"));
// s == null
result.InnerHtml += s + "
";
result.InnerHtml += "
";
}運行結(jié)果
silverlight
Last - 返回集合中的最后一個元素;不延遲
LastOrDefault - 返回集合中的最后一個元素(如果沒有則返回默認值)
/**////
/// Last - 返回集合中的最后一個元素;不延遲
/// LastOrDefault - 返回集合中的最后一個元素(如果沒有則返回默認值)
///
void Summary_Last_LastOrDefault()
{
string s = (from a in _ary
select a).Last(a => a.StartsWith("s"));
// string s = (from a in _ary
// select a).LastOrDefault(a => a.StartsWith("sss"));
// s == null
result.InnerHtml += s + "
";
result.InnerHtml += "
";
}運行結(jié)果
***s
ElementAt - 返回集合中指定索引的元素;不延遲
ElementAtOrDefault - 返回集合中指定索引的元素(如果沒有則返回默認值);不延遲
/**////
/// ElementAt - 返回集合中指定索引的元素;不延遲
/// ElementAtOrDefault - 返回集合中指定索引的元素(如果沒有則返回默認值);不延遲
///
void Summary_ElementAt_ElementAtOrDefault()
{
string s = (from a in _ary
select a).ElementAt(3);
// string s = (from a in _ary
// select a).ElementAtOrDefault(1000);
// s == null
result.InnerHtml += s + "
";
result.InnerHtml += "
";
}運行結(jié)果
css
Contains - 判斷集合中是否包含有某一元素;不延遲
/**////
/// Contains - 判斷集合中是否包含有某一元素;不延遲
///
void Summary_Contains()
{
bool b = (from a in _ary
select a).Contains("javascript");
result.InnerHtml += b.ToString() + "
";
result.InnerHtml += "
";
}運行結(jié)果
True
Any - 判斷集合中是否有元素滿足某一條件;不延遲
/**////
/// Any - 判斷集合中是否有元素滿足某一條件;不延遲
///
void Summary_Any()
{
bool b = (from a in _ary
select a).Any(p => p.Length > 10);
result.InnerHtml += b.ToString() + "
";
result.InnerHtml += "
";
}運行結(jié)果
True
All - 判斷集合中是否所有元素都滿足某一條件;不延遲
/**////
/// All - 判斷集合中是否所有元素都滿足某一條件;不延遲
///
void Summary_All()
{
bool b = (from a in _ary
select a).All(p => p.Length > 10);
result.InnerHtml += b.ToString() + "
";
result.InnerHtml += "
";
}運行結(jié)果
False
Count - 返回集合中的元素個數(shù),返回int;不延遲
LongCount - 返回集合中的元素個數(shù),返回long;不延遲
/**////
/// Count - 返回集合中的元素個數(shù),返回int;不延遲
/// LongCount - 返回集合中的元素個數(shù),返回long;不延遲
///
void Summary_Count_LongCount()
{
int i = (from a in _ary
select a).Count(p => p.Length > 10);
// long i = (from a in _ary
// select a).LongCount(p => p.Length > 10);
result.InnerHtml += i.ToString() + "
";
result.InnerHtml += "
";
}運行結(jié)果
2
Sum - 集合應(yīng)為數(shù)字類型集合,求其和;不延遲
/**////
/// Sum - 集合應(yīng)為數(shù)字類型集合,求其和;不延遲
///
void Summary_Sum()
{
int i = (from a in _ary
select a.Length).Sum();
result.InnerHtml += i.ToString() + "
";
result.InnerHtml += "
";
}運行結(jié)果
87
Min - 返回集合的最小值;不延遲
/**////
/// Min - 返回集合的最小值;不延遲
///
void Summary_Min()
{
int i = (from a in _ary
select a.Length).Min();
result.InnerHtml += i.ToString() + "
";
result.InnerHtml += "
";
}運行結(jié)果
2
Max - 返回集合的最大值;不延遲
/**////
/// Max - 返回集合的最大值;不延遲
///
void Summary_Max()
{
int i = (from a in _ary
select a.Length).Max();
result.InnerHtml += i.ToString() + "
";
result.InnerHtml += "
";
}運行結(jié)果
12
Average - 集合應(yīng)為數(shù)字類型集合,求其平均值;不延遲
/**////
/// Average - 集合應(yīng)為數(shù)字類型集合,求其平均值;不延遲
///
void Summary_Average()
{
double d = (from a in _ary
select a.Length).Average();
result.InnerHtml += d.ToString() + "
";
result.InnerHtml += "
";
}運行結(jié)果
5.8
Aggregate - 根據(jù)輸入的表達式獲取一個聚合值;不延遲
/**////
/// Aggregate - 根據(jù)輸入的表達式獲取一個聚合值;不延遲
///
void Summary_Aggregate()
{
// 以下算法的Aggregate相當(dāng)于Sum
double d = (from a in _ary
select a.Length).Aggregate((x, y) => x + y);
result.InnerHtml += d.ToString() + "
";
result.InnerHtml += "
";
}運行結(jié)果
87
Cast - 將集合轉(zhuǎn)換為強類型集合;延遲
/**////
/// Cast - 將集合轉(zhuǎn)換為強類型集合;延遲
///
void Summary_Cast()
{
ArrayList al = new ArrayList();
al.Add("asp.net");
al.Add("csharp");
al.Add("xhtml");
var list = al.Cast
foreach (string s in list)
{
result.InnerHtml += s + "
";
}
result.InnerHtml += "
";
}運行結(jié)果
asp.net
csharp
xhtml
DefaultIfEmpty - 查詢結(jié)果為空則返回默認值;延遲
/**////
/// DefaultIfEmpty - 查詢結(jié)果為空則返回默認值;延遲
///
void Summary_DefaultIfEmpty()
{
var list = (from a in _ary
where a.Length > 100
select a).DefaultIfEmpty("xxx");
foreach (string s in list)
{
result.InnerHtml += s + "
";
}
result.InnerHtml += "
";
}運行結(jié)果
xxx
SequenceEqual - 判斷兩個集合是否相同;不延遲
/**////
/// SequenceEqual - 判斷兩個集合是否相同;不延遲
///
void Summary_SequenceEqual()
{
bool b = (from a in _ary
where a.Length > 10
select a).SequenceEqual(from a in _ary
where a.Length > 10
select a);
result.InnerHtml += b.ToString() + "
";
result.InnerHtml += "
";
}運行結(jié)果
True
OfType - 過濾集合中的指定類型;延遲
/**////
/// OfType - 過濾集合中的指定類型;延遲
///
void Summary_OfType()
{
object[] objects = { 1, "a", 2, "b", 3, "c" };
var list = objects.OfType
foreach (string s in list)
{
result.InnerHtml += s + "
";
}
result.InnerHtml += "
";
}運行結(jié)果
a
b
c
ToArray - 將集合轉(zhuǎn)換為數(shù)組;不延遲
/**////
/// ToArray - 將集合轉(zhuǎn)換為數(shù)組;不延遲
///
void Summary_ToArray()
{
string[] ary = (from p in _ctx.Products
where p.ProductName.Length > 30
select p.ProductName).ToArray();
foreach (string s in ary)
{
result.InnerHtml += s + "
";
}
result.InnerHtml += "
";
}運行結(jié)果
Jack's New England Clam Chowder
Louisiana Fiery Hot Pepper Sauce
Original Frankfurter grüne So?e
Uncle Bob's Organic Dried Pears
ToList - 將集合轉(zhuǎn)換為List
/**////
/// ToList - 將集合轉(zhuǎn)換為List
///
void Summary_ToList()
{
var list = (from a in _ary
where a.Length > 10
select a).ToList();
foreach (string s in list)
{
result.InnerHtml += s + "
";
}
result.InnerHtml += "
";
}運行結(jié)果
silverlight
asp.net ajax
ToDictionary - 將集合轉(zhuǎn)換為
/**////
/// ToDictionary - 將集合轉(zhuǎn)換為
///
void Summary_ToDictionary()
{
var dic = (from p in _ctx.Products
where p.ProductName.Length > 30
select p).ToDictionary(p => p.ProductID);
foreach (var p in dic)
{
result.InnerHtml += p.Key + ":" + p.Value.ProductName + "
";
}
result.InnerHtml += "
";
}運行結(jié)果
7:Uncle Bob's Organic Dried Pears
41:Jack's New England Clam Chowder
65:Louisiana Fiery Hot Pepper Sauce
77:Original Frankfurter grüne So?e