linq操作符 限定操作符

2022-02-02 06:52:23 字數 3198 閱讀 4478

限定操作符運算返回乙個boolean值,該值指示序列中是否有一些元素滿足條件或者是否所有元素都滿足條件。

一、all操作符

all方法用來確定是否序列中的所有元素都滿足條件。看下面的例子:

1

using

system;

2using

system.collections.generic;

3using

system.linq;

4using

system.text;

5using

system.threading.tasks;67

namespace

limitoperation8;

1415

string source2 = new

string ;

1617 console.writeline(source1.all(w => w == "

a")); //

輸出"false"

1819 console.writeline(source2.all(w => w == "

a")); //

輸出 "true"

2021

console.readkey();22}

23}24 }

結果:

二、any操作符

先來看看any的定義:

從定義中可以看出:any有兩個過載方法。any方法的無參方式用來確定序列是否包含任何元素。any方法的有參方式用來確定序列中是否有元素滿足條件。只要有乙個元素符合指定條件即返回true,如果乙個符合指定條件的元素都沒有則返回false。看下面的例子:

1

using

system;

2using

system.collections.generic;

3using

system.linq;

4using

system.text;

5using

system.threading.tasks;67

namespace

limitoperation8;

14string source2 = new

string ;

15 console.writeline(source1.any()); //

輸出"true"

16 console.writeline(source1.any(w => w == "

a")); //

輸出 "true"

17 console.writeline(source2.any(w => w == "

g")); //

輸出 "false"

18console.readkey();19}

20}21 }

結果:

三、contains操作符

contains方法用來確定序列是否包含滿足指定條件的元素。如果有返回true,否則返回false。看下面的例子:

1

using

system;

2using

system.collections.generic;

3using

system.linq;

4using

system.text;

5using

system.threading.tasks;67

namespace

limitoperation8;

1415 console.writeline(source1.contains("

a")); //

輸出 "true"

1617 console.writeline(source1.contains("

g")); //

輸出 "false"

1819

console.readkey();20}

21}22 }

結果:

contains還有另外乙個過載的方法,看定義:

public

static

bool contains(this ienumerablesource, tsource value, iequalitycomparercomparer);

該過載方法的引數是乙個實現iequalitycomparer介面的型別。看下面的例子。

定義實現iequalitycomparer介面的型別:

1

using

system;

2using

system.collections.generic;

3using

system.linq;

4using

system.text;

5using

system.threading.tasks;67

namespace

limitoperation818

public

int gethashcode(string

obj)

1922

}23 }

方法中呼叫:

1

using

system;

2using

system.collections.generic;

3using

system.linq;

4using

system.text;

5using

system.threading.tasks;67

namespace

limitoperation8;

1415

var comparer = source1.contains("

f", new

equalitycomparerequals());

16 console.writeline(comparer); //

輸出"true"

17console.readkey();18}

19}20 }

結果:

注意:在自定義的類中,x相當於陣列中的每乙個元素,y是要比較的元素:f。

1 投影操作符 LINQ標準查詢操作符

public class select linq var methodsyntex contact.select c new where con con.firstname.startswith s console.writeline query syntex foreach var item in...

Linq的查詢操作符

linq有表示式語法和呼叫方法的語法。兩者是可以結合使用,通常情況下也都是結合使用。表示式語法看上去比較清晰而呼叫方法的語法實現的功能更多,在此文章中介紹的是表示式語法。方法語法可以看system.linq等命名空間下的擴充套件方法。linq只能用於實現了ienumerable或ienumerabl...

c語言操作符 位操作符 移位操作符

1 按位操作符 1.1 按位 與 雙目運算子 僅當兩個運算元都為1時,結果為1,否則為0。參與運算的數以補碼方式出現。例 9 5 1 0000 1001 9的補碼 0000 0101 5的補碼 0000 0001 1的補碼 應用 a 通常將某些位清零或保留某些位。例如 將a的高八位清零,保留低八位,...