日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Visual Studio是蝙蝠车,LINQPad是兰博基尼?这个比喻很秒

發布時間:2024/3/26 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Visual Studio是蝙蝠车,LINQPad是兰博基尼?这个比喻很秒 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?此篇轉發自港澳臺LINQPad用戶PETER的文章

對于.NET的工程師來說最幸福的就是我們有史上最強大的IDE:Visual Studio,隨便你要上山還是下海,用著Visual Studio就像是開著蝙蝠車一樣橫行天下。

But!強大如Visual Studio也是有缺點的,例如說摩天布魯斯要去公司露個臉,總不能開著蝙蝠車去吧。這時在車庫里的蘭博基尼就排上用場了,這臺蘭博基尼就是我們本篇的主角LINQPad。

本篇目標:

介紹LINQPad的以下主題:

  • 用途
  • 安裝
  • 界面
  • 用法: Expression、Statement(s)及Program
  • 引入參考
  • 與資料庫連線
  • Extension Methods
  • 小訣竅

用途

如上所述,LINQPad之于Visual Studio就像是跑車之于戰車一樣,Visual Studio的功能強大,要做任何事情都難不倒它,但缺點就是太笨重了,消耗的資源太多,如果我們只是要做一些程式片段的驗證測試或是學習還要開啟Visual Studio然后創建專案,光是想到就會讓人卻步,這時候LINQPad就派上用場了,它有下列的優點:

  • 它很輕盈(15MB)
  • 有Portalble版本不用安裝可以帶著走,想在哪寫就在哪寫
  • 可以不用建立專案甚至不用寫Class,只要寫你想要測試的程式碼即可(Expression、Statement)
  • 可以把程式碼片段(code snippet)存起來當作范例使用

接下來我們來看看要怎么使用LINQPad吧。

安裝

請至

LINQPad有付費版本,個人覺得付費版本很實用的功能有:

  • 自動完成
  • 跟NuGet整合
  • Debugger

介面

介面分為四個部分:

  • 伺服器連線瀏覽
  • 片段瀏覽器
  • 程式撰寫
  • 執行結果
    • Result: 查詢結果(LINQPad提供Dump來得到較好的顯示品質)
    • Lambda: LINQ轉為LINQ Method后的程式
    • SQL: LINQ轉出的SQL Query

對介面有初步的認識后我們就來用LINQPad寫一些程式吧。

用法

對于C#,LINQPad有三種編寫方式:

  • Expression 單行程式或是單個LINQ陳述式
  • Statement(s)?多行的程式片段
  • Program需要撰寫Class或是Method時

Expression

  • 使用場景 練某個剛認識的Method時或是要以LINQ取得想要的資料時....等
  • 使用方式;以單行程式碼的方式撰寫,最后不用加分號(;)
  • 范例
  • 想要輸出期望的日期格式時(LINQPad as a Code Scratchpad))
  • 可以看到Result直接輸出結果,在測試或學習Method時很好用。

  • 以LINQ查詢一段句子的每個字的長度時(范例取自LINQPad>Samples>LINQPad Tutorial & Reference>5-minute induction>A simple query expression)
  • 就算是分成多行,只要還是一個陳述式就算是Expression。對于要找出期望的資料很好用。

    Statement(s)

    • 使用場景
    • 使用方式class;
  • 用多個LINQ查詢資料時(范例取自
  • Program

    • 使用場景?需要演練Method、Function或是Class時
    • 使用方式?跟寫Console App一樣的方式
  • 有個Method/Class要做測試時
  • 你沒看錯!!最外面是不需要再一層Class的,可以直接寫所需的程式碼,是不是很方便阿。

    當然如果你外面還是想要包Class(跟正規的程式相同)的話也可以,請參考

    引入參考

    在LINQPad上如果有需要引入參考的話有兩個方式:

    • 按下F4
    • 在程式撰寫的區塊按右鍵>References and Properties

    進入Query Properties 頁面,按下Add...或是Browse...按鈕選擇需要的參考加到程式中

    與資料庫連線

    在沒有LINQPad的幫助下,我們要測試用LINQ抓取的資料庫資料是否正確時,我們需要做下面兩件事:

  • 取得連線字串
  • 開啟連線
  • 接著我們才能開始撰寫LINQ,這一來一往間就耗掉了許多的時間,這時就該是LINQPad出場的時候了。

    設定連線

    現在我們要幫LINQ設定好DB的連線方式。

  • 左上方區塊里按下Add connection,跳出的視窗里直接按下next
  • 2進入下一個頁面,這里跟連線SSMS的設定相同,設定好后按下OK(也可以按Test測試連線是否正確)
  • 3連線完成后就可以在左上的區塊看到Database,我們的Northwind出現了
  • 使用資料庫資料做LINQ演練

  • Northwind右鍵>Use in Current Query
  • 2.連線成功后可以看到程式碼區塊上的Connection變成Northwind

    3.接著我們來寫個LINQ(此范例為LINQPad>Samples>LINQPad Tutorial & Reference>5-minute induction>What about querying a database!),執行后我們可以看到夢寐以求的資料了!~~

    執行SQL語法

    有沒有想要查詢資料庫時卻不想打開資料庫工具呢?這時候LINQPad又可以派上用場了(萬能阿~~)。

    照著下面的步驟來取得Northwind中單價(UnitPrice)最高的產品(Products):

  • 新增一個新的Query
  • Northwind做連線
  • 在Language中選擇SQL
  • 輸入下面的SQL:
  • 上述的范例如果還看不過癮的話,在LINQPad>Samples>LINQPad Tutorial & Reference>5-minute induction>But I don't have NORTHWIND!中展示了Create Table、Insert Data的演練,可以參考一下。

    Extension Methods

    有時候我們會想要寫個可以在全部的程式碼片段使用的通用Method,這時LINQPad的Extension Method就派上用場了,在MyExtensions這個Class中撰寫Method就可以在每個程式碼片段中做使用(就像是LINQPad內建的Dump一樣)。

  • 在左下的區塊中的MyExtensions的Tab>My Extensions,程式碼區塊會出現MyExtensions的Class
  • 2接著我們來加入Hello 到MyExtensions?中

  • 3新開一個Query執行Method,會輸出Hello字串
  • 4現在我們再加一個ConsoleWriteLine
  • 5在剛剛的Query中呼叫ConsoleWriteLine,最后就會像下圖一樣
  • Extension Methods的好處在于你可以擴充自己的Infrastructure,來縮減每個程式碼片段重復的處理。

    小訣竅

    儲存可參考的程式碼片段

    有時候我們會常常參考某些好用的程式碼,這時就會想要找個地方存起來等要的時候再拿出來。

    在LINQPad中有儲存程式碼片段的功能:

  • 在要儲存的片段的Tab上按右鍵>Save(或ctrl+s)
  • 儲存后在左下角MyQueries就會看到剛剛儲存的檔案了。
  • 快捷鍵表

    在Help>Keyboard/Mouse Shortcuts

    執行選取的程式碼

    選取想要執行的片段按下執行F5就可以執行片段程式碼

    LINQPad extension methods

    LINQPad自己有提供Dump,讓開發者可以產出更清楚的結果,關于Dump的詳細說明可以參考作者自己在StackOverflow的回答:?LINQPad [extension] methods

    結論

    LINQPad是一個麻雀雖小,五臟俱全的開發工具,在這個章節中我們學到了如何運用這功能強大的工具,下個章節我們要來尋foreach中隱藏的秘密哦!

    LINQPad 已經推出全新的中文網站www.linqpad.cn, 以及微信公眾號。請關注,及時掌握最新資訊!

    總結

    以上是生活随笔為你收集整理的Visual Studio是蝙蝠车,LINQPad是兰博基尼?这个比喻很秒的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。