<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      pollying

      導航

      1、C#基礎:變量、運算符、分支、循環、枚舉、數組、方法 <轉>

      轉自:海盜船長

      鏈接:http://www.rzrgm.cn/baidawei/p/4701504.html#3241882

      C#、.Net以及IDE簡介

      一、什么是.Net?

      .Net指 .Net Framework框架,一種平臺,一種技術。

      .Net Framework框架是.Net平臺不可缺少的一部分,它提供了一個穩定的運行環境來保證我們基于.Net平臺開發的各種應用能夠正常運轉。

      .Net Framework 各版本區別

      2002年 1.0------vs2002

      統一類型系統,基礎類庫,垃圾回收,多語言支持、ado.net 1.0、asp.net 1.0、winform 1.0。

      2003年 1.1------vs2003

      安全方面升級、自帶對ODBC Oracle的支持,支持ipv6

      2005年 2.0------vs2005

      提升安全性、性能、泛型和內置泛型集合、基礎類庫的擴展、引入事務Transaction

      2006年 3.0------需要2.0框架支持

      WCF(WEB服務)、WF(工作流)、WPF(用戶界面統一)、WCS(數字標識用戶控件)

      2007年 3.5------vs2008

      asp.net AJAX、Linq、自動屬性、對象初始化器、集合初始化器、擴展方法、Lambda表達式、查詢語法、匿名類型、LinqtoSQL、MVC

      2010年 4.0------vs2010

      DLR、dynamic、默認參數、命名參數、并行開發等

      .NET Framework 由.NET Framework類庫和公共語言運行時兩個主要組件組成

      CLS(公共語言規范):用來保證語言之間的兼容性,只要遵循CLS任何一種.net語言編寫的組件都可以被其他語言所引用。

      CTS(通用類型系統):定義了如數字、字符串和數組等數據類型的規則,這樣他們就能為所有的.net語言所共享。

      CLR(公共語言運行庫): 只是用來執行中間語言代碼。然后把他們編譯成為機器語言讓他們能在當前平臺執行。

      DLR(動態語言運行時):4.0的新特性,CLR為c#和vb提供了通用的平臺,而DLR則為javascript、Ruby等com組件提供了通用平臺。

      二、什么是C#?

      C#是一種編程語言,可以開發基于.Net平臺的應用。

      .net 是一種多語言開發的平臺 vb c++ F# 等,主要使用C#編程語言進行開發。

      三、.Net能干什么?

      1、桌面應用程序(Winform),就是軟件。

      2、Internet應用程序(ASP.NET),就是網站。

      3、手機開發 wp8

      4、Unity3D 游戲開發

      四、.Net交互模式

      C/S:Clinet/Server,客戶端對服務器,需要安裝在電腦上的軟件。

      B/S:Browser/Server,瀏覽器對服務器,不需要安裝在電腦上,通過網頁打開。

      五、什么是IDE?

      IDE 是指我們使用的開發工具,visual studio就是最常用的一種。

      visual studio使用

      啟動方式:雙擊圖標、命令:devenv

      創建控制臺項目:新建項目 c# 控制臺 右上角.net framework 版本 項目名稱

      解決方案關系:解決方案中包含多個項目,項目中包含多個文件,文件中命名空間包含類,類中可以包含方法,方法中包含程序代碼。

      .sln后綴的文件是解決方案文件,包含整個解決方案的信息。類文件以.cs結尾。

      .csproj 項目文件里面包含項目的信息。

      解決方案 右鍵 新增項目 新建項目追加到解決方案 多個項目時 可以設置某個項目為啟動項目 啟動時自動啟動該項目 項目可以卸載 和追加 當執行編譯時 不再檢查已卸載的項目 工具->導入導出設置 中有個重置開發環境, 設置下可以設置字體 行號。

      常用快捷鍵:ctrl+k+d全部對齊 | ctrl+k+f部分對齊 | ctrl+s保存 | ctrl+shift+s全部保存 | ctrl+c復制 | ctrl+v粘貼 | ctrl+z撤銷 | ctrl+y前進 | ctrl+j智能提示 ctrl+w+e代碼自動折行 等等。

      六、Main方法

      Main方法是程序的入口方法。 執行一個程序時,首先找到main方法,從main方法中第一句程序開始執行,當main方法執行完畢后程序就結束了。 一個程序只能有一個main方法

      輸入輸出

      1
      2
      3
      Console.WirteLine(); //向控制臺輸出一句話。
       
      Console.ReadLine();  //向控制臺輸入一句話。

      每一句代碼以;結束

      啟動方式:f5帶調試啟動,shift+f5不啟動

      生成解決方案編譯項目F6

      八、xmind 繪圖軟件

      新建空的  tab鍵 新增子節點   回車鍵 新增兄弟節點

      F7快捷截圖 F8預覽

       

      基礎語法

      一、注釋

      // 單行注釋 ctrl+k+c ctrl+k+u取消

      /* */ 多行注釋

      /// 文檔注釋

      #region #endregion 折疊代碼 ctrl+k+s #reg

      二、配置c#編譯環境

      c#源程序需要.net framework SDK安裝程序提供的C#編譯器 csc.exe來編譯,需要設置環境變量。

      我的電腦-屬性-系統屬性-高級-環境變量-系統環境變量-系統變量-選擇path-點編輯-將sdk安裝程序路徑添加到變量值。

      C:\Windows\Microsoft.NET\Framework\v4.0.30319 //我的路徑 path中;區分

      cmd 進入源文件目錄 輸入csc xxx.cs 該目錄下會編譯為xxx.exe可執行文件 cd C:\Users\大偉\Desktop\abc\abc---> csc Program.cs

      三、變量

      用來在計算機中存儲數據,存儲于內存中。內存是臨時存儲數據 斷電時內存中數據丟失

      編寫的代碼存在內存中, 保存后從內存中保存到硬盤中 變量代表著一塊內存空間,可以通過變量名稱向內存中存/取數據。

      1、聲明變量

      數據類型 變量名;

      例:int a; string b; double c;

      2、變量賦值

      變量名=值; 其中"="為賦值運算符,把右側值賦給左側變量。

      例:a = 1;b = "asd";c = 2.13; 優先級最低a=a+1;算完在賦值;

      3、聲明并賦值

      數據類型 變量名 = 值;

      例:int a = 1;

      變量可以重復賦值,以最后一次為準,但不可以重復聲明 變量必須先聲明后使用

      四、數據類型

      整型:int、浮點數:double、字符:char、字符串:string、貨幣:decimal。

      double 精度15~16位,16后不再顯示, decimal精度29 后面加m/M否則按double類型報錯。

      4.0新特性

      System.Numerics.BigInteger 大整數類型 需要framework 4.0或以上 如果沒有 檢查bll是否引用程序集

      BigInteger big = new BigInteger(1000000000);
      long value = 31313892839283;
      BigInteger big = value;

      dynamic 動態數據類型

      運行時才檢查數據類型

      dynamic v = 124;

      Console.WriteLine(v.GetType()); //System.Int32

      五、變量命名規則

      必須字母或_或@開頭、不可以數字開頭。后面可以跟數字、字母、下劃線。

      不可以與系統關鍵詞重復、大小寫敏感、不可以重復定義。

      如果縮寫單詞全部大寫ICBC,多個單詞第二個單詞大寫首個小寫fuckYou? 或每個都大寫FuckYou!

      六、“+”號的使用

      “+”數字相加(左右都是數字)  例:1+1

      “+”字符串鏈接(有一個是字符串) 例:string result = "haha" + 123;

      七、占位符

      "我叫{0},身高{1}",one,two; 右側保證與左側占位符個數相同 否則報錯

      console輸出中","后面都是用來替換占位符的

      八、變量交換

      int a = 5,b = 10,temp;

      temp = a;

      a = b;

      b = temp; // 完成交換

      九、轉義字符

      由\加上一個字符組成可以輸出的特殊字符

      \"輸出引號 \n換行 \b退格 backspace鍵 刪除前一個 \t tab鍵 行對齊 \\ 輸出\

      字符串前面加@標識該字符串有\不再轉義,字符串可以換行,輸出“時用兩個“

      十、算術運算符

      + - * / % 二元運算符 兩個數字運算

      十一、算術表達式

      由運算符鏈接兩個數組成表達式 a+b

      十二、類型轉換

      隱式類型轉換:也叫自動轉換,當目標類型大于源類型時發生轉換。(小的轉成大的)

      顯示類型轉換:也叫強制轉換,把double強制轉換成int不要小數點【(數據類型)值】(大的轉成小的)

      (int)string 右側string必須是整數才可以轉換。

      Convert轉換

      Convert.ToInt32(帶轉換字符串); //轉換為Int;

      Convert.ToString(number); //轉換為字符串

      類型都有一個.ToString() 也可以用這個方法轉換為字符串

      十三、可空類型? 
      int? a = null;  表示a的值可以為null使用

      十四、異常處理

      try{}catch 可能有錯誤的try中 報錯進入catch

       

      運算符

      一、一元運算符

      ++ 自增 -- 自減

      后++;age=18; sum = age++ -10; age++取前值先算age-10 運算后 再運算age++; age=19 sum=8;

      前++; ++age - 10 ++age 取新值 先+完

      二、復合賦值符

      += += *= /= %=

      age+=3; 自加3 類似:age=age+3;

      三、關系運算符

      >大于 <小于 ==等于 !=不等于 >=大于等于 <=小于等于

      兩個數的操作稱為二元運算符

      四、布爾類型

      bool 類型只有兩個值:真true、假false。

      關系運算的結果是布爾類型的

      五、邏輯運算符

      &&與 : 左右表達式都成立則為true

      || 或 : 左右表達式有一個成立就為true

      ! 非 : 不成立則為true

      六、三元運算符

      a1= =a2 ? "a" : "b" 成立輸出a 否則輸出b

       

      分支結構

      一、If

      if(判斷條件)
      {
          要執行的代碼; 
      }
      判斷條件一般為關系表達式或bool類型的值,如果判斷條件成立則執行大括號內代碼。

      二、If-else

      if(判斷條件) 

          成立的代碼
      }else { 
          不成立的代碼 

      如果判斷條件成立,執行大括號內代碼,否則執行else內代碼。

      三、If-else If

      用來處理多條件的區間性判斷

      1
      if(a=1){}else if(a=2){}else if(a=3){}else{}

      你懂的一直判斷有沒有 實在沒有就else。

      四、Switch-case

      用來處理多條件的等值比較

      switch (num)
      {
          case 1: 如果1
              1
          break;
          case 2: 如果2
              2
          break;
          default: 否則
              other
          break

      }

       

      循環結構

      一、While循環

      先判斷再執行

      int i = 0; 
      While(i<100) //條件 

          i++; 
          if(i==50)
              break; //跳出循環
      }

      二、do-while循環

      先執行再循環

      do
      {
          i++;
      }while(i<50);

      三、for循環

      規定次數的循環

      for(int i = 1;i<10;i++){
          console.writeline(i);
      }

      四、foreach循環

      循環集合

      foreach(var item in list){
        console.writeline(item.xx);
      }

      循環的集合 見第二章 都是循環就放這了 大量數據情況下 沒有for效率高

      五、跳轉語句

      break 立即跳出循環

      continue 結束本次 繼續下次循環

      goto跳轉到指定位置

      return 返回

      throw 拋出異常

       

      常量、枚舉、結構以及數組

      一、常量

      不可改變的值

      const 類型 名=值

      const pi=3.14;

      二、枚舉

      限制賦值 在定義枚舉時的集合中選值

      public enum Gender //定義枚舉
      {
          男,
          女
      }

      Gender gender = Gender.男; //枚舉賦值

      定義枚舉時,值不能是int類型的,那樣做沒有意義。

      枚舉轉換為int

      枚舉的類型可以跟int類型互相轉換,枚舉類型與int類型相兼容。

      枚舉的值在定義時是有一個默認編號的,從0開始。

      (int)Gender.男; //值為0 女為1 每次遞增1

      改變枚舉的默認值定義時賦值,則默認從此值開始。

      public enum Gender //定義枚舉
      {
          男=2,
          女
      }

      這時(int)Gender.男 值為2,女則為3.

       

      枚舉類型轉換

      int轉換為枚舉

      Gender gender = (Gender)n1; n1為0時則輸出男。

      string類型轉換為枚舉

      Gender gender = (Gender)(Enum.Parse(typeof(Gender),"男"));

      三、結構

      public struct Person //定義結構
      {
          public string name; //定義字段
          public string tel;
      }

      Person zsPerson; //使用結構
          zsPerson.name = "zs"; //結構賦值
          zsPerson.tel = '138484848448';

      四、數組

      聲明數組并指定長度

      數據類型[] 數組名=new 類型[數組長度];

      賦值 數組名[0]=1;

      從0開始 int類型數組 默認值0

      數組名.length 獲得數組長度

      int [] nums = new int[10]; //定義數組

      nums[0] = 1;

      nums[1] = 2; //賦值

      int lengt = nums.Length; //得到長度

      for (int i=0; i< nums.Length; i++) // 遍歷取值

      聲明時直接賦值不指定長度

      string[] names = { "zhangsan", "lisi", "wangwu" };

      string[] names = new string[3] { "zhangsan", "lisi", "wangwu" };

      數組長度需要和值長度相等 就是不能不符

      string[] names = new string[] { "zhangsan", "lisi", "wangwu" }; //可以省略數組長度

      五、冒泡排序

      讓數組中的元素兩兩比較(第i與第i+1比較)經過n(個數-1)次比較

      從大到小排序 用小于比較 成立就交換

      int[] nums = { 1, 5, 23, 8, 5, 0, 4, 5 };
      for (int i = 0; i < nums.Length - 1; i++)
      {
          for (int j = 0; j < nums.Length - 1 - i; j++)
          {
              if (nums[j] < nums[j + 1])
              {
                  int temp = nums[j];
                  nums[j] = nums[j + 1];
                  nums[j + 1] = temp;
              }
          }
      }
      for (int i = 0; i < nums.Length; i++)
      {
          Console.WriteLine(nums[i]);
      }
      Console.ReadKey();

       

      方法

      方法就是將一堆代碼進行重用的一種機制,可能有輸入的值,返回的值,執行后返回結果。

      方法一般定義在類中,如果方法沒有返回值則使用void。

      [訪問修飾符][static] 返回值類型 方法名([參數]) //[] 中可又可無
      {
      return; //返回
      }

       

      public static void showView()
      {
      Console.WriteLine("Hello World!");
      }
      //static 靜態的 調用 class.showView();
       
      一、變量作用域
      全局變量 定義到類中 所有方法通用 靜態方法中使用定義時也要用靜態
      局域變量 在哪個方法定義 在哪用
      二、參數
      參數個數,類型要相同 int.Parse(string) 類似 Convert.ToInt32(string)
      static void Main(string[] args)
      {
          test("Diavd", 18);
      }
      public static void Test(string name, int age)
      {
          Console.WriteLine("my Name is {0} , Age is {1}", name, age);
      }
      三、返回值
      public static string Test(int a)
      {
          if (a == 1)
          {
              return "1";
          }
          else
          {
              return "other";
          }
      }
      返回值要與返回類型相同。
      四、方法重載
      方法名相同 參數個數或類型不同 可以構成 與返回值無關
      static void Main(string[] args)
      {
          int m = Max(10, 20);
          double d = Max(10.3, 20.3);
      }
      public static int Max(int one, int two)
      {
          if (one > two)
          {
              return one;
          }
          else
          {
              return two;
          }
      }
      public static double Max(double one, double two)
      {
          if (one > two)
          {
              return one;
          }
          else
          {
              return two;
          }
      }
      五、out
      用來返回一個值; 傳出 通過參數返值
      //可以在方法內不賦值下直接使用
      static void Main(string[] args)
      {
          int number; //number已經是20了;
          int result = test(out number);
      }
      //number可以不賦值便使用,調用時也需要寫out

      static int test(out int a)
      {
          a = 20; //如果方法參數名標記為out 則方法中必須對其賦值。
          return a;
      }
      int number = int.Parse("a12");// 如果失敗則拋出異常。

      int result;
      bool number2 = int.TryParse("a12", out result); //第一轉換字符串,第二返回轉換成功的值 或失敗為0;
      返回值是否成功 true false;
      六、ref
      引用傳遞 方法內的值改變了 外面也將改變
      static void Main(string[] args)
      {
          int number = 100;
          test(ref number); //執行后number為500
      }
      static void test(ref int a)
      {
          int b = a; //不對a進行賦值直接使用
          a = 500; //此時不是變量賦值 而是內存地址邊為number 相當于創建快捷方式 而不是復制一份
      }
      七、params可變參數
       public void test(string name,params int[] ages)
      {
          

      //調用 數組長度可變
      test("a",12,12,12); 
      test("b",13,2);
      可變參數必須是參數列表的最后一個參數
      4.0新特性
      1、可選參數
      可以為可選參數省略參數值,每個可選參數都具有默認值作為定義的一部分
      public void abc(int num1,int num2,string oper = "+")
      其中num1,num2為必選參數,oper為可選參數,不輸入時默認為+
      2、命名參數
      可以在調用參數時,不按照順序進行調用
      public void abc(int num1,int num2,int num3)
      abc(num2:123,num3:123,num1:123);
      八、方法遞歸
      自己調用自己 多用于遞歸查找磁盤文件
      public int Sum(int n){
          if(n<=0){
              return 0;
          }
          return n + Sum(n-1);
      } //1+2+3+..+n和

      posted on 2015-08-14 12:05  pollying  閱讀(192)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 亚洲一区二区经典在线播放| 国产中文99视频在线观看| 在线观看免费网页欧美成| 国产草草影院ccyycom| ww污污污网站在线看com| 日本高清视频网站www| 国产成人综合亚洲精品国产| 在线观看视频一区二区三区| 最新午夜男女福利片视频| 国产久久热这里只有精品| 亚洲精品无码你懂的网站| 徐闻县| 国产精品午夜福利视频| 色噜噜在线视频免费观看| 欧美影院成年免费版| 精品久久亚洲中文无码| av中文字幕在线二区| 国产精品麻豆欧美日韩ww| 欧美人妻一区二区三区| 亚洲欧美日韩在线码| 喀什市| 亚洲精品一区久久久久一品av| 亚洲午夜理论无码电影| 最新国产精品好看的精品| 中文精品无码中文字幕无码专区 | 久久精产国品一二三产品| 亚洲gay片在线gv网站| 2020无码专区人妻系列日韩| 国产精品色一区二区三区| 久久国产免费观看精品3| 精品欧洲av无码一区二区| 亚洲黄色片一区二区三区| 在线涩涩免费观看国产精品| 国产精品久久久久aaaa| 风流少妇又紧又爽又丰满| 国产精品SM捆绑调教视频| 欧美成人免费一区二区三区视频 | 色九月亚洲综合网| 粗壮挺进人妻水蜜桃成熟| 国产浮力第一页草草影院| 边吃奶边添下面好爽|