2013/07/04

on
● -- ● IT Farmer : C# C Sharp 教學資料連結  ;;; C# Sample Function Class Link
(Other : w3school html5)
.■■■ - 點部落 DotBlogs ;;; 陳鍾誠: C# 程式設計 http://cs0.wikidot.com/main
■■■ MSDN 上的Visual C# 教學課程及How Do I 學習資源 ::: 看範例學C# (Hung-Chin點部落)
.■■■ - 命名空間預設為 Public ; 類別預設為 internal ; 類別中的類別(巢狀類別)預設為 private ; 類別成員預設為 private 。
.■■■ - C#沒有宣告全域變數的方式, 直接將變數放到最外層是不行的(VB中毒太深!?),因此要在C#中使用全域變數,一般都是用屬性或是靜態變數來達成 :
        public static string Ver = "1.0";
.■■■ - Application.Exit() (Environment.Exit) :: Environment.CurrentDirectory :: File :: FileStream ::
.■■■ - C# 字串前的 @ 代表把字串中的 '\' 當成一般字元處理。
.■■■ - C# DataTable的詳細用法(cn)
.■■■ - bool 不需引用 using System; Boolean需引用; bool 就只是 System.Boolean 的別名,是一樣的東西。
.■■■ - 值類型(Value Type), 引用類型(Reference Type),  值類型是存在內存的stack 中(即堆棧),而引用類型存在heap(即堆) , 可以粗略地認為在stack 中會快一些,因為heap是程序運行時動態生成的,實際上class都是在run-time時生成放在heap的。這也是一個早期的「罪狀」說java很慢,因為所有東西在java裡都是對象。
.■■■ -
.■■■ - 逸出字元(\r\n) :: string 方法 :: StringBuilder :: 標準數值格式字串 ("yyyy-MM-dd HH:mm:ss") :: C# 關鍵字 ::
.■■■if - else - switch - case - do - for - foreach - in - while - break - continue - default - goto - return - yield -  throw - try-catch - try-finally - try-catch-finally
.■■■ - MSDN Visual Studio 2012 C#

C# 逐步解說

=========================
選擇陳述式 (Selection Statement) 可讓您根據一個或多個指定條件,分支前往不同的程式碼區段。 如需詳細資訊,請參閱下列主題:
==========================
反覆運算陳述式可讓您在集合 (例如陣列) 中執行迴圈,或重複執行相同的一組陳述式,直到符合指定的條件為止。 需詳細資訊,請參閱下列主題:
doforforeachinwhile
========================
跳躍陳述式 (Jump Statement) 可將控制轉移到另一個程式碼區段。 如需詳細資訊,請參閱下列主題:
========================
例外狀況處理 (Exception Handling) 陳述式可讓您順利地從執行階段發生的例外情況復原。 如需詳細資訊,請參閱下列主題:
=======================

--C# 程式內部


private Boolean CheckFormNotUsed(string tMdiChildFormName)
        {
            foreach (Form childform in this.MdiChildren)
            {
                if (childform.Name==tMdiChildFormName )
                {
                    childform.Visible = true;
                    childform.Activate();
                    return false;
                }
            }
         return true;
        }
// ===
private void cusToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (CheckFormNotUsed("frmExpsCustom"))
            {
                frmExpsCustom  mMDIChild = new frmExpsCustom();
                mMDIChild.MdiParent = this;
                mMDIChild.WindowState = FormWindowState.Maximized;
                mMDIChild.Show();
            }
        }
-- SharpDevelop 速度快,支持代碼高亮,支持各種工程,也支持單文件的編輯。全面支持.net平台的所有語言。

下面介紹開發環境的搭建。

一、準備軟件

與Java類似,你只要有一個 SDK 和一個IDE,就搞定了。

二、安裝配置環境

1、安裝 .net framework 4.0












  • .NET 4.0 Full runtime must be installed on your machine (Download)













  • .NET 3.5 SP1 runtime must be installed (Download)
  • 2、安裝 SharpDevelop
    3、配置環境變量 path,將C:\WINDOWS\Microsoft.NET\Framework\v4加入到 path 環境變量,這樣你就可以方便使用命令行工具了。

    三、控制台(CMD)編譯運行:csc filename.cs
    csc msdn link
    csc 參考01
    csc 參考02
    csc 參考01
    csc 參考01
    取得 MsSql 的 Tables & Fields :
    string mQryStr = "select sysobjects.name as Table_Name,syscolumns.name as Column_Name ";

    mQryStr += "from sysobjects, syscolumns ";

    mQryStr += "where (sysobjects.xtype = 'U') and (sysobjects.id = syscolumns.id) ";

    mQryStr += "order by sysobjects.name asc, syscolumns.colid asc ";
    =====
    取得 MsSql 的 Tables :
    string mQryStr = "select sysobjects.name as Table_Name ";

    mQryStr += "from sysobjects ";

    mQryStr += "where sysobjects.xtype = 'U' ";

    mQryStr += "order by sysobjects.name asc";


    //mQryStr = "SELECT * FROM INFORMATION_SCHEMA.TABLES";    //另一種查詢法

    =====
    // "SELECT * FROM MSYSOBJECTS"  // Access Tables的方法
    --


    Convert.ToInt32、(int) 和 int.Parse 三者的區別:

    前者適合將object類類型轉換成int類型,如Convert.ToInt32(session["shuzi"]);

    (int)適合簡單數據類型之間的轉換;

    int.Parse適合將string類類型轉換成int類型,如int.Parse(session["shuzi"].ToString())。
    ===
    Convert.ToInt32(null)會返回0而不會產生任何異常,但int.Parse(null)則會產生異常。
    ===
    a. Convert.ToInt32(double value)
    如果 value 為兩個整數中間的數字,則返回二者中的偶數;即 3.5轉換為4,4.5 轉換為 4,而 5.5 轉換為 6。  不過4.6可以轉換為5,4.4轉換為4
      b. int.Parse("4.5")
    直接報錯:"輸入字符串的格式不正確".

      c. int(4.6) = 4
    Int轉化其他數值類型為Int時沒有四捨五入,強制轉換

    int.Parse是轉換String為int
    Convert.ToInt32是轉換繼承自Object的對象為int的.
    一個object對象,想轉換為int,不可用int.Parse, 要用Convert.ToInt32.
    ===
    Parse是把String轉換成int,char,double....等,也就是*.Parse(string) 括號中的一定要是string.
    Convert可以提供多種類型的轉換,也就是Convert.*()括號中可以為很多種類型(包括string).


    --
    -- --
    ADO.NET DataSet :


    ---
    .■■■ -
    .■■■ -
    .■■■ -
    .■■■ -
    .■■■ -
    .■■■ -
    .■■■ -

    -
    -

    0 意見: