C#函數的參數傳遞方式1(值傳遞與地址傳遞)

来源:https://www.cnblogs.com/BruceKing/archive/2019/11/08/11818590.html

using System; namespace class1 { class program { static void Main(string[] args) { //值傳遞引用,實際參數不會變化 Console.Write("請輸入a="); double a = double.Parse(Co ...


using System;
namespace class1
{
    class program
    {
        static void Main(string[] args)
        {
            //值傳遞引用,實際參數不會變化
            Console.Write("請輸入a=");
            double a = double.Parse(Console.ReadLine());
            Console.Write("請輸入b=");
            double b = double.Parse(Console.ReadLine());
            double c = max(a, b);//局部實際參數
            Console.WriteLine("您輸入的值中比較大的是{0}", c);
            //地址傳遞引用,實際參數會變化
            int[] ex = new int[4] { 1, 2, 3, 4 };
            Console.WriteLine("Before");
            foreach (var item in ex)
            {
                Console.Write("\t{0}", item);
            }
            dou(ex);
            Console.WriteLine("\nEnd");
            foreach (var item in ex)
            {
                Console.Write("\t{0}", item);
            }
        }
        /// <summary>
        /// 值傳遞
        /// </summary>
        /// <param name="a">形式參數(參數為值類型)</param>
        /// <param name="b">形式參數(參數為值類型)</param>
        /// <returns></returns>
        static double max(double a, double b)
        {//局部形式參數
            double c = a > b ? a : b;
            return c;
        }
        /// <summary>
        /// 地址傳遞
        /// </summary>
        /// <param name="array">數組參數(參數為引用類型)</param>
        static void dou(int[] array)
        {
            for (int i = 0; i < array.Length; i++)
            {
                array[i] = array[i] * 2;
            }
        }
    }
}

 


您的分享是我們最大的動力!

更多相關文章
  • 前言 上一篇我們主要介紹了並行編程相關的知識,這一節我們繼續介紹關於任務相關的知識。為了更好的控制並行操作,我們可以使用System.Threading.Tasks中的Task類。我們首先來瞭解是什麼是任務——任務表示將要完成的一個或某個工作單元,這個工作單元可以在單獨線程中運行,也可以使用同步方式 ...
  • 上一篇自動化測試,全面且詳細的介紹了從零開始到發佈版本的步驟,這是傳統的方式,本次為大家帶來的是如何在5分鐘內使用上docker進行CI/CD,畢竟現在的容器化如火如荼,本示例是基於CentOS-7系統,在示例中, jenkins 和部署 .NET Core 應用程式,都使用 docker 來完成。 ...
  • 一.前言 從這個簡單程式的輸出結果,你想到了什麼?是不是與你心中想的結果不一致?是不是覺得輸出的結果應該為:i is 1,o is 8,o2 is 8 二.程式執行前 圖 2 我們都知道,每一個方法在執行前,操作系統會給方法內每個變數分配記憶體空間。從圖2中就可以看出,在執行前各變數(i,o,o2)已 ...
  • 在一般的前後端分離的web系統開發中,在服務端除了對用戶數據的緩存之外,往往在某些介面上,還涉及到對用戶許可權的限制,有的介面只能讓具有特定許可權的人員才可以訪問。 這樣以來就可以加強系統的安全性,在前面章節中簡單講了 MemoryCache與redis緩存的使用 ,方便將用戶數據緩存到伺服器上在需要的 ...
  • Gtksharp編譯時提示下載gtk文件問題 1、昨天晚上新建gtksharp項目之後,安裝gtksharp之後,編譯時無法成功,提示無法下載gtk 3.24.zip 2、記得前幾天,另一個項目可以生成的。就打開老項目、運行、編譯成功。那會不會是今天寫的代碼導致的,註釋之後編譯還是失敗。沒辦法重新新 ...
一周排行
  • static void Main(string[] args) { string url = "https://go.microsoft.com/fwlink/?linkid=2108895&amp;clcid=0x409"; DownloadBigFile(new Uri(url), "ssms.... ...
  • 1. 使用ASP.NET Core 3.x 構建 RESTful API - 1.準備工作 什麼是REST 什麼是REST REST一詞最早是在2000年,由Roy Fielding在他的博士論文《Architectural Styles and the Design of Network-base ...
  • wpf 兩個自定義控制項 一個是IP控制項,一個滑動條。先看下效果圖 IPControl 1、實際工作中有時需要設置IP信息,就想著做一個ip控制項。效果沒有window自帶的好,需要通過tab切換。但也能滿足使用。廢話不多說直接上代碼 IPControl.xaml IPControl.xaml.cs 2 ...
  • 近期和幾位做嵌入式開發的朋友閑聊過程中,一位朋友抱怨到:這C#太難用了,我想在N個窗體(或者是N個用戶組件之間)傳遞值都搞不定,非得要定義一個全局變數來存儲,然後用定時器來刷新值,太Low了。我急切的回答道:這很簡單,不就是委托的事嘛。那你來一個示例啊:朋友道。此為這篇博客的起因,所以此篇博客對於有 ...
  • 在面對對象編程中,類的三大特性分別為封裝,繼承,多態。其中多態的具體實現,依賴於三個方法,也就是虛方法,抽象類和介面。 多態的具體作用是什麼呢?或者說多態的存在有什麼意義呢?多態的存在有效的降低了程式的耦合度,在使用的時候,不僅可以表現大家都有的共性,還能在必要的時候突出一些特殊的的個性。 那麼如何 ...
  • [toc] 前言 在之前已經提到過,公用類庫Util已經開源,目的一是為了簡化開發的工作量,畢竟有些常規的功能類庫重覆率還是挺高的,二是為了一起探討學習軟體開發,用的人越多問題也就會越多,解決的問題越多功能也就越完善, 倉庫地址: "April.Util_github" , "April.Util_ ...
  • 【ASP.NET Core學習】在ASP.NET Core 種使用Entity Framework Core介紹,包括如何添加Entity Framwork Core,創建模型和遷移到資料庫,查詢數據,保存數據,使用事務,處理併發衝突 ...
  • 環境:MacOS 10.13 MAMAP Prophp 7.0.33 + xdebugVisual Studio Code前言我所理解的 POP Chain:利用魔術方法並巧妙構造特殊屬性調用一系列函數或類方法以執行某種敏感操作的調用堆棧反序列化常用魔法函數前言我所理解的 POP Chain:利用魔 ...
  • 當創建隊列jobs、監聽器或訂閱伺服器以推送到隊列中時,您可能會開始認為,一旦分派,隊列工作器決定如何處理您的邏輯就完全由您自己決定了。 嗯……並不是說你不能從作業內部與隊列工作器交互,但是通常情況下,哪怕你做了,也是沒必要的。 這個神奇的騷操作的出現是因為“InteractsWithQueue”這 ...
  • 在說正題之前先解釋一下交換機模式是個籠統的稱呼,它不是一個單獨的模式(包括了訂閱模式,路由模式和主題模式),交換機模式是一個比較常用的模式,主要是為了實現數據的同步。 首先,說一下訂閱模式,就和字面上的意思差不多主要就是一個生產者,多個消費者,同一個消息被多個消費者獲取,先看一下官網的圖示 整體執行 ...
x