<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. C語言

    c#查詢關鍵字where 子句的運用

    時間:2025-06-01 02:31:28 C語言 我要投稿
    • 相關推薦

    c#查詢關鍵字where 子句的運用

      引導語:where是數據庫中的一個指令,一般用于用于規定選擇的標準。在c#中同樣適用,以下是小編整理的c#查詢關鍵字where 子句的運用,歡迎參考閱讀!

      where 子句用在查詢表達式中,用于指定將在查詢表達式中返回數據源中的哪些元素。它將一個布爾條件(“謂詞”)應用于每個源元素(由范圍變量引用),并返回滿足指定條件的元素。一個查詢表達式可以包含多個 where 子句,一個子句可以包含多個謂詞子表達式。

      示例

      在下面的示例中,where 子句篩選出除小于五的數字外的所有數字。如果移除 where 子句,則會返回數據源中的所有數字。表達式 num < 5 是應用于每個元素的謂詞。

      C#

      class WhereSample

      {

      static void Main()

      {

      // Simple data source. Arrays support IEnumerable.

      int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

      // Simple query with one predicate in where clause.

      var queryLowNums =

      from num in numbers

      where num < 5

      select num;

      // Execute the query.

      foreach (var s in queryLowNums)

      {

      Console.Write(s.ToString() + " ");

      }

      }

      }

      //Output: 4 1 3 2 0

      在單一 where 子句內,可以使用 && 和 || 運算符根據需要指定任意多個謂詞。在下面的示例中,查詢將指定兩個謂詞,以便只選擇小于五的偶數。

      C#

      class WhereSample2

      {

      static void Main()

      {

      // Data source.

      int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

      // Create the query with two predicates in where clause.

      var queryLowNums2 =

      from num in numbers

      where num < 5 && num % 2 == 0

      select num;

      // Execute the query

      foreach (var s in queryLowNums2)

      {

      Console.Write(s.ToString() + " ");

      }

      }

      }

      // Output: 4 2 0

      where 子句可以包含一個或多個返回布爾值的方法。在下面的示例中,where 子句使用一個方法來確定范圍變量的當前值是偶數還是奇數。

      C# 

      class WhereSample3

      {

      static void Main()

      {

      // Data source

      int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

      // Create the query with a method call in the where clause.

      // Note: This won't work in LINQ to SQL unless you have a

      // stored procedure that is mapped to a method by this name.

      var queryEvenNums =

      from num in numbers

      where IsEven(num)

      select num;

      // Execute the query.

      foreach (var s in queryEvenNums)

      {

      Console.Write(s.ToString() + " ");

      }

      }

      // Method may be instance method or static method.

      static bool IsEven(int i)

      {

      return i % 2 == 0;

      }

      }

      //Output: 4 8 6 2 0

      備注

      where 子句是一種篩選機制。除了不能是第一個或最后一個子句外,它幾乎可以放在查詢表達式中的任何位置。where 子句可以出現在 group 子句的前面或后面,具體情況取決于是必須在對源元素進行分組之前還是之后來篩選源元素。

      如果指定的謂詞對于數據源中的元素無效,則會發生編譯時錯誤。這是 LINQ 提供的強類型檢查的一個優點。

      編譯時,where 關鍵字會被轉換為對 Where 標準查詢運算符方法的調用。

    【c#查詢關鍵字where 子句的運用】相關文章:

    c#關鍵字查詢之select 子句運用10-06

    c#查詢關鍵字之join 子句運用方法07-01

    c#查詢關鍵字from 子句的用法11-07

    c#查詢關鍵字之group子句的使用09-07

    c#查詢關鍵字之into的使用07-25

    c#運算符關鍵字is的使用10-30

    C# 術語大全07-29

    c#快速排序算法10-21

    c#冒泡排序算法08-15

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人