最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#基礎(chǔ)語法:方法參數(shù)詳解

 更新時間:2015年06月18日 09:37:15   投稿:junjie  
這篇文章主要介紹了C#基礎(chǔ)語法:方法參數(shù)詳解,本文講解了值參數(shù)、引用參數(shù)、輸出參數(shù)、參數(shù)數(shù)組等參數(shù)類型,并分別給出代碼實例,需要的朋友可以參考下

●值參數(shù) :一個值參數(shù)相當(dāng)于一個局部變量,當(dāng)使用值參數(shù)的時候,將會分配一個新的存儲位置,將實參拷貝到該位置,并將該拷貝值傳遞給該方法。因此,值參數(shù)只能將值帶進方法,但是不能帶出方法,而不會影響實參的值。

●引用參數(shù):當(dāng)使用引用參數(shù)的時候,將不會分配一個新的存儲位置,In other words,引用參數(shù)能將值帶進方法,也能帶出方法,因而會影響實參的值。如下例:

using System;

namespace prg1
{
  class Paramstest
  {  
    //值參數(shù)使用演示
    public static void Transposition_1(int a, int b)
    {
      int temp = a;
      a = b;
      b = temp;
    }
    //引用參數(shù)使用演示
    static void Transposition_2(ref int a,ref int b)
    {
      int temp = a;
      a = b;
      b = temp;
    }
    static void Main(string[] args)
    {
      int a = 25;
      int b = 30;
      //調(diào)用Transposition_1
      Console.WriteLine("調(diào)用Transposition_1之前a={0},b={1}",a,b);
      Transposition_1(a,b);
      Console.WriteLine("調(diào)用Transposition_1之后a={0},b={1}", a, b);
      Console.WriteLine("====================\n");
      //調(diào)用Transposition_2
      Console.WriteLine("調(diào)用Transposition_2之前a={0},b={1}", a, b);
      Transposition_2(ref a,ref b);
      Console.WriteLine("調(diào)用Transposition_2之后a={0},b={1}", a, b);
      Console.WriteLine("====================\n");
      Console.ReadKey();
    }
  }
}


●輸出參數(shù):根據(jù)表層含義猜測其只能輸出不能輸入方法的參數(shù),我們開始緊隨上例驗證一下,加入以下代碼:

static void Transposition_2(ref int a,ref int b)
    {
      int temp = a;
      a = b;
      b = temp;
    }

編譯器便會提醒a,b未賦值的報錯,同樣我們也就可以直觀的看到,輸出參數(shù)不能將值帶進方法,只能將值輸出方法。從下面的例子中可以看出在方法的內(nèi)部進行了輸出參數(shù)的賦值操作,因此無論在哪里使用輸出參數(shù)都必須提前賦值,這也是使用任何類型參數(shù)的共性。

//Use of output parameters
    static void Transposition_3(string name,out string FistName,out string LastName)
    {
      int i=name.Length;//Get the length of the string
      while(i>0)
      {
       char chparm=name[i-1];
       if (chparm == '.')
       {
         break;
       }
       i--;
      }
      FistName = name.Substring(0,i-1);
      LastName = name.Substring(i);

    }
//調(diào)用Transposition_3
      string DoName,Nmark; 
      Transposition_3("rohelm.X",out DoName,out Nmark);
      Console.WriteLine("Domain Name of Myself: {0}",DoName);
      Console.WriteLine("The last name of my Domain Name: {0}",Nmark);


●參數(shù)數(shù)組:簡而言之,就是方法傳遞的單位是個數(shù)組,而且可以是一維數(shù)組或者交錯數(shù)組(形如int[][]),但是不能是多維數(shù)組(形如;string[,]),可以為參數(shù)數(shù)組制定一個或多個實參,其中每一個實參都是一個表達式,此外參數(shù)數(shù)組和同一類型的值參數(shù)完全等效。例如下例:
 

class Prmarry
  {
    public static void Show(params string[] name)
    {
      Console.WriteLine("Array contains the number of elements: {0}", name.Length);
      Console.Write("elements of NameArray:");
      for (int i = 0; i < name.Length; i++)
      {
        Console.Write("{0,10}",name[i]);
      }
    }
  }
//調(diào)用Show
      string[] NameArray = { "rohelm.X", "Boolean", "rrats" };
      Prmarry.Show(NameArray); 
      Console.ReadKey();

也不知咋搞的,我的輸入法和編譯器好像在玩躲貓貓,一會不一會的就不支持漢字輸入了,我也真能用英語輸入了,無奈。

下面是這一日志的參考源碼,可以整體分析一下:

using System;

namespace prg1
{
  class Paramstest
  {  
    //值參數(shù)使用演示
    public static void Transposition_1(int a, int b)
    {
      int temp = a;
      a = b;
      b = temp;
    }
    //引用參數(shù)使用演示
    static void Transposition_2(ref int a,ref int b)
    {
      int temp = a;
      a = b;
      b = temp;
    }
    //Use of output parameters
    static void Transposition_3(string name,out string FistName,out string LastName)
    {
      int i=name.Length;//Get the length of the string
      while(i>0)
      {
       char chparm=name[i-1];
       if (chparm == '.')
       {
         break;
       }
       i--;
      }

      FistName = name.Substring(0, i - 1);
      LastName = name.Substring(i);
    }
    static void Main(string[] args)
    {
      int a = 25;
      int b = 30;
      //調(diào)用Transposition_1
      Console.WriteLine("調(diào)用Transposition_1之前a={0},b={1}",a,b);
      Transposition_1(a,b);
      Console.WriteLine("調(diào)用Transposition_1之后a={0},b={1}", a, b);
      Console.WriteLine("====================\n");
      //調(diào)用Transposition_2
      Console.WriteLine("調(diào)用Transposition_2之前a={0},b={1}", a, b);
      Transposition_2(ref a,ref b);
      Console.WriteLine("調(diào)用Transposition_2之后a={0},b={1}", a, b);
      Console.WriteLine("====================\n");
      //調(diào)用Transposition_3
      string DoName,Nmark; 
      Transposition_3("rohelm.X",out DoName,out Nmark);
      Console.WriteLine("Domain Name of Myself: {0}",DoName);
      Console.WriteLine("The last name of my Domain Name: {0}"+"\n",Nmark);
      //調(diào)用Show
      string[] NameArray = { "rohelm.X", "Boolean", "rrats" };
      Prmarry.Show(NameArray); 
      Console.ReadKey();
    }
  }
  class Prmarry
  {
    public static void Show(params string[] name)
    {
      Console.WriteLine("Array contains the number of elements: {0}", name.Length);
      Console.Write("elements of NameArray:");
      for (int i = 0; i < name.Length; i++)
      {
        Console.Write("{0,10}",name[i]);
      }
    }
  }
}


相關(guān)文章

  • C#實現(xiàn)繪制隨機噪點和直線

    C#實現(xiàn)繪制隨機噪點和直線

    這篇文章主要為大家詳細介紹了C#如何實現(xiàn)繪制隨機噪點和直線,文中的示例代碼講解詳細,對我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-01-01
  • C#讀取文本文件到listbox組件的方法

    C#讀取文本文件到listbox組件的方法

    這篇文章主要介紹了C#讀取文本文件到listbox組件的方法,涉及C#操作文本文件及l(fā)istbox組件的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • C#面向?qū)ο蟮?3種設(shè)計模式介紹

    C#面向?qū)ο蟮?3種設(shè)計模式介紹

    這篇文章介紹了C#面向?qū)ο蟮?3種設(shè)計模式,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • DevExpress實現(xiàn)TreeList向上遞歸獲取公共父節(jié)點的方法

    DevExpress實現(xiàn)TreeList向上遞歸獲取公共父節(jié)點的方法

    這篇文章主要介紹了DevExpress實現(xiàn)TreeList向上遞歸獲取公共父節(jié)點的方法,需要的朋友可以參考下
    2014-08-08
  • C#獲取計算機名,IP,MAC信息實現(xiàn)代碼

    C#獲取計算機名,IP,MAC信息實現(xiàn)代碼

    利用C#獲取計算機名,IP,MAC信息如何實現(xiàn),一直是網(wǎng)友們的頭疼問題,本文整理了一些實現(xiàn)代碼,需要的朋友可以參考下
    2012-11-11
  • C#使用CefSharp實現(xiàn)內(nèi)嵌網(wǎng)頁詳解

    C#使用CefSharp實現(xiàn)內(nèi)嵌網(wǎng)頁詳解

    這篇文章主要介紹了C# WPF里怎么使用CefSharp嵌入一個網(wǎng)頁,并給出一個簡單示例演示C#和網(wǎng)頁(JS)的交互實現(xiàn),感興趣的小伙伴可以了解一下
    2023-04-04
  • C#影院售票系統(tǒng)畢業(yè)設(shè)計(2)

    C#影院售票系統(tǒng)畢業(yè)設(shè)計(2)

    這篇文章主要介紹了C#影院售票系統(tǒng)畢業(yè)設(shè)計,介紹了電影院座位的動態(tài)繪制、電影信息綁定到窗體中如何展現(xiàn)出來,需要的朋友可以參考下
    2015-11-11
  • opencvsharp瑕疵檢測的實現(xiàn)示例

    opencvsharp瑕疵檢測的實現(xiàn)示例

    本文主要介紹了opencvsharp瑕疵檢測的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • C#深度優(yōu)先遍歷實現(xiàn)全排列

    C#深度優(yōu)先遍歷實現(xiàn)全排列

    這篇文章主要介紹了C#深度優(yōu)先遍歷實現(xiàn)全排列,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • C#操作XML文件實例匯總

    C#操作XML文件實例匯總

    這篇文章主要介紹了C#操作xml文件實例,包括了對XML文件節(jié)點的查找、遍歷、刪除、添加等。是C#程序設(shè)計中非常重要的技巧,需要的朋友可以參考下
    2014-08-08

最新評論

合作市| 颍上县| 吴江市| 萨嘎县| 横山县| 康马县| 民丰县| 石渠县| 廉江市| 阳信县| 东港市| 大英县| 安庆市| 双江| 鄄城县| 略阳县| 南溪县| 霸州市| 三门峡市| 建平县| 黄石市| 牟定县| 淮安市| 衡东县| 彭州市| 博湖县| 河西区| 江都市| 虞城县| 乐东| 额济纳旗| 青岛市| 陆丰市| 澄城县| 遵化市| 蛟河市| 金湖县| 大洼县| 建昌县| 崇礼县| 横山县|