(6)“深不見底”的C#

來源:互聯網
上載者:User

標籤:

首先我想說下C#中的Linq,大家初學時在每個程式的開頭都會見到using System.Linq;,可能猜到它跟資料庫有關,但是具體不清楚。這裡如果編程需要用到資料庫,

則需要引入System.Data.Link。它讓程式與資料庫輕易的串連在一起,安卓平台也有內建的資料庫,但是他們兩者的效能我還沒有什麼好的方法來比較,這一點留給聰明的讀者吧!

總之,它給C#的程式員帶去一道光芒,讓死寂的編程出現了一絲生機,免去了配置各種資料庫的苦惱。這裡為了讀者的理解,奉上一張PPt的圖

這張圖很明白的告訴你這個LINK的機理,工科人一看就懂,萌萌噠

 

接下來我想講下另所有程式員頭痛的問題,那就是異常處理。我覺得評價一個程式員的好壞,很重要的一點就是看他對於異常的態度。很多人就直接拋出,死機,結束程式了事,

但是真正的顧客永遠是世界上最挑剔的人,對於這樣一幫永不滿足的人,你的產品怎麼會有受眾?現在來看個最賤的,哦不最簡單的例子

這是個簡單的不得了的判斷是否倆數能相除的代碼。通常先處理派生最深的異常的類型,最後處理的是一般性異常。

異常具有以下特點:

  • 各種類型的異常最終都是由 System.Exception 派生而來。

  • 在可能引發異常的語句周圍使用 try 塊。

  • 一旦 try 塊中發生異常,控制流程將跳轉到第一個關聯的例外處理常式(無論該處理常式存在於呼叫堆疊中的什麼位置)。 在 C# 中,catch 關鍵字用於定義例外處理常式。

  • 如果給定異常沒有例外處理常式,則程式將停止執行,並顯示一條錯誤訊息。

  • 除非您可以處理某個異常並使應用程式處於已知狀態,否則請不要捕捉該異常。 如果捕捉 System.Exception,請在 catch 塊的末尾使用 throw 關鍵字再次引發該異常。

  • 如果 catch 塊定義了一個異常變數,則可以用它擷取有關所發生異常類型的更多資訊。

  • 程式可以使用 throw 關鍵字顯式地引發異常。

  • 異常對象包含有關錯誤的詳細資料,比如呼叫堆疊的狀態以及有關錯誤的文本說明。

  • 即使發生異常也會執行 finally 塊中的代碼。 使用 finally 塊釋放資源,例如,關閉在 try 塊中開啟的任何流或檔案。

  • .NET Framework 中的託管異常是憑藉 Win32 結構化異常處理機制實現的。 有關更多資訊,請參見結構化異常處理 (C/C++) 和 A Crash Course on the Depths of Win32 Structured Exception Handling(有關深入探究 Win32 結構化異常處理的應急課程)。

 

剛學C#那陣,我知道有個東西叫WPF,但是一直不知道那個是幹什麼用的,最近有點開竅了(畢竟要交大作業了。。嗚嗚), Windows Presentation Foundation (WPF) 是下一代顯示系統,用於產生能帶給使用者震撼視覺體驗的 Windows 用戶端應用程式。 使用 WPF,您可以建立廣泛的獨立應用程式以及瀏覽器承載的應用程式。為了大家能剛好的理解呢,博主粘一段代碼來看:

開啟Window1.xaml,用下面的代碼替換原有的:
<Window x:Class="WpfApplication1.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300">
    <StackPanel>
        <StackPanel Orientation="Horizontal">
            <TextBlock Text="輸入:  "/>
            <TextBox Name="TbInput" Width="100px"/>
            <Button Name="BtnCalc" Click="BtnCalc_Click">求平均值</Button>
        </StackPanel>
        <StackPanel Orientation="Horizontal">
            <TextBlock Text="平均值:  "/>
            <Label Name="LblResult" Foreground="Red" Width="100px">abc</Label>
        </StackPanel>
    </StackPanel>
</Window>
為BtnCalc_Click事件添加邏輯,開啟Window1.xaml.cs,添加:
private void BtnCalc_Click(object sender, RoutedEventArgs e)
        {
            string input = TbInput.Text.Trim();
            if (!String.IsNullOrEmpty(input))
            {
                string[] rawDataSet = input.Split(", ".ToCharArray());
                if (rawDataSet.Length != 5)
                    return;
                try
                {
                    int i = 0;
                    double sum = 0;
                    for (; i < rawDataSet.Length; i++)
                        sum += Double.Parse(rawDataSet[i]);
                    LblResult.Content = sum / i;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
運行程式,在文字框中輸入五個數,中間用空格或逗號分開,然後點計算平均值按鈕,即可顯示結果。這個只要你建立一個WPF程式然後,把這個代碼跑一遍就知道WPF大概是個啥了

這裡的Xaml是基於XML的標記語言(安卓用的就是XML哦),用於以聲明形式申明程式的外觀。 由於 XAML 基於 XML,因此使用它來編寫的 UI 被組合到稱為“元素樹”的嵌套元素階層中。 元素樹為建立和管理 UI 提供了一種邏輯且直觀的方式。 有關更多資訊,請參見 WPF 中的樹。 還有WPF中的程式碼後置也十分有意思,我也正在探索中,有興趣的讀者可以瞭解下。。

 

(6)“深不見底”的C#

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.