亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
“out”參數(shù)在 C# 中如何工作?
示例#2
C# 輸出參數(shù)示例
結(jié)論
首頁 后端開發(fā) C#.Net教程 C# 輸出參數(shù)

C# 輸出參數(shù)

Sep 03, 2024 pm 03:29 PM
c# c# tutorial

out是C#中的關(guān)鍵字,用于將參數(shù)作為引用類型傳遞給方法。作為輸出參數(shù)傳遞給方法的變量在傳遞給方法調(diào)用之前不需要聲明或初始化。在控件離開被調(diào)用方法之前以及被調(diào)用方法向調(diào)用方法返回任何值之前,被調(diào)用方法需要為 out 參數(shù)的變量賦值。可以將多個(gè)輸出參數(shù)傳遞給一個(gè)方法,并且該方法返回多個(gè)值。

語法及解釋:

使用 out 參數(shù)調(diào)用該方法時(shí),語法如下:

Method_name(out data_type variable_name);

這里,Method_name 是任何用戶定義的方法名稱,'out' 是關(guān)鍵字,用于表示傳遞給方法的變量是輸出參數(shù),data_type 可以是變量的任何數(shù)據(jù)類型,variable_name 是用戶定義的變量名稱。

調(diào)用方法的語法如下:

access_specifier return_type Method_name(out data_type variable_name);

這里,access_specifier 可以是 C# 支持的五個(gè)訪問說明符中的任何訪問說明符,例如 public 或 private。然后,return_type 是該方法返回的數(shù)據(jù)類型,后跟方法名稱和“out”參數(shù)列表。

“out”參數(shù)在 C# 中如何工作?

在 C# 中,“out”關(guān)鍵字的作用類似于“ref”和“in”關(guān)鍵字。 'out' 和 'ref' 參數(shù)之間的區(qū)別在于,'out' 參數(shù)變量在傳遞給方法之前不需要初始化,用戶可以在方法的參數(shù)列表中聲明 'out' 參數(shù)變量而不是單獨(dú)聲明它,這稱為“out”參數(shù)的內(nèi)聯(lián)聲明,而“ref”參數(shù)變量需要在傳遞給方法之前初始化??梢栽谕淮a塊中訪問內(nèi)聯(lián)聲明的“out”參數(shù)。

示例#1

代碼:

using System;
namespace ConsoleApp4
{
public class Program
{
public static void Main(string[] args)
{
//inline declaration of 'out' parameter
Display(out int num);
Console.WriteLine("Value of variable 'num': {0}", num);
Console.ReadLine();
}
public static void Display(out int a)
{
//need to assign value
a = 10;
a += a;
}
}
}

輸出:

C# 輸出參數(shù)

  • 現(xiàn)在,‘out’和‘in’關(guān)鍵字的區(qū)別在于,‘out’參數(shù)值可以在被調(diào)用方法內(nèi)部修改,而‘in’參數(shù)值不能在被調(diào)用方法內(nèi)部修改。
  • 一個(gè)方法可以有多個(gè)“out”參數(shù),例如:Display(out x, out y);
  • 要使用“out”參數(shù),用戶需要在方法定義和調(diào)用方法中顯式使用“out”關(guān)鍵字。同時(shí),方法定義和調(diào)用中的“out”參數(shù)的名稱不必相同。
  • “out”參數(shù)通過引用傳遞給方法,因此它們不會(huì)在內(nèi)存中創(chuàng)建新的存儲(chǔ)位置,并使用方法調(diào)用中變量參數(shù)占用的相同存儲(chǔ)位置。由于使用“out”的方法,參數(shù)可以返回多個(gè)值,因此可以幫助用戶從被調(diào)用的方法中獲取多個(gè)處理后的值。但在方法向調(diào)用方法返回任何值之前,必須為“out”參數(shù)分配方法中的一些值。
  • 我們不能在所有類型的方法中使用“out”參數(shù),就像我們不能在使用“async”修飾符定義的異步方法中使用“out”參數(shù)一樣,我們也不能在“iterator”方法中使用“out”參數(shù)由“yield return”或“yield break”語句組成。由于屬性不是變量,因此我們不能將它們作為“輸出”參數(shù)傳遞給方法。
  • ‘out’參數(shù)可以使用泛型類型來定義,以表明該類型參數(shù)是協(xié)變的。除此之外,“out”參數(shù)在 C# 中不同數(shù)據(jù)類型的 TryParse() 方法中使用。 TryParse() 方法返回一個(gè)布爾值,該值指定成功或失敗,成功時(shí),結(jié)果由“out”參數(shù)給出。

示例#2

代碼:

using System;
namespace ConsoleApp4
{
public class Program
{
public static void Main(string[] args)
{
string str = "123456";
int num;
//if ‘canParse’ is true; the result of conversion will be stored in ‘num’
bool canParse = Int32.TryParse(str, out num);
if (canParse)
Console.WriteLine(num);
else
Console.WriteLine("Could not be parsed.");
Console.ReadLine();
}
}
}

輸出:

C# 輸出參數(shù)

C# 輸出參數(shù)示例

以下是 C# 輸出參數(shù)的示例:

示例#1

示例顯示將多個(gè)“out”參數(shù)傳遞給方法,然后該方法返回多個(gè)值。

代碼:

using System;
namespace ConsoleApp4
{
public class Program
{
public static void Main()
{
//declaring variables without assigning values
float area, perimeter;
//passing multiple variables to a method using 'out' keyword
Calculate(5, 10, out area, out perimeter);
//displaying the result
Console.WriteLine("The area of rectangle is: {0}", area);
Console.WriteLine("The perimeter of rectangle is: {0}", perimeter);
Console.ReadLine();
}
//method taking length & breadth & it will return area and perimeter of rectangle
public static void Calculate(int length, int breadth, out float area, out float
perimeter)
{
area = length * breadth;
perimeter = 2 * (length + breadth);
}
}
}

輸出:

C# 輸出參數(shù)

示例#2

顯示“out”參數(shù)內(nèi)聯(lián)聲明的示例。

代碼:

using System;
namespace ConsoleApp4
{
public class Program
{
public static void Main()
{
//in-line declaration of variables without assigning values
Calculate(out int length, out int breadth, out float area);
//displaying the values of length, breadth, and area
Console.WriteLine("Length of rectangle: " + length);
Console.WriteLine("Breadth of rectangle: " + breadth);
Console.WriteLine("Area of rectangle: " + area);
Console.ReadLine();
}
//method taking 'out' parameters and it returns multiple values
public static void Calculate(out int l, out int b, out float a)
{
l = 30;
b = 40;
a = l * b;
}
}
}

輸出:

C# 輸出參數(shù)

結(jié)論

C# 中的“out”參數(shù)允許用戶通過引用方法來傳遞參數(shù)。用作“out”參數(shù)的變量在傳遞給方法之前不需要進(jìn)行初始化。被調(diào)用的方法應(yīng)該在返回值之前為 out 參數(shù)賦值。

以上是C# 輸出參數(shù)的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

c#多線程和異步的區(qū)別 c#多線程和異步的區(qū)別 Apr 03, 2025 pm 02:57 PM

多線程和異步的區(qū)別在于,多線程同時(shí)執(zhí)行多個(gè)線程,而異步在不阻塞當(dāng)前線程的情況下執(zhí)行操作。多線程用于計(jì)算密集型任務(wù),而異步用于用戶交互操作。多線程的優(yōu)勢(shì)是提高計(jì)算性能,異步的優(yōu)勢(shì)是不阻塞 UI 線程。選擇多線程還是異步取決于任務(wù)性質(zhì):計(jì)算密集型任務(wù)使用多線程,與外部資源交互且需要保持 UI 響應(yīng)的任務(wù)使用異步。

C#與C:歷史,進(jìn)化和未來前景 C#與C:歷史,進(jìn)化和未來前景 Apr 19, 2025 am 12:07 AM

C#和C 的歷史與演變各有特色,未來前景也不同。1.C 由BjarneStroustrup在1983年發(fā)明,旨在將面向?qū)ο缶幊桃隒語言,其演變歷程包括多次標(biāo)準(zhǔn)化,如C 11引入auto關(guān)鍵字和lambda表達(dá)式,C 20引入概念和協(xié)程,未來將專注于性能和系統(tǒng)級(jí)編程。2.C#由微軟在2000年發(fā)布,結(jié)合C 和Java的優(yōu)點(diǎn),其演變注重簡潔性和生產(chǎn)力,如C#2.0引入泛型,C#5.0引入異步編程,未來將專注于開發(fā)者的生產(chǎn)力和云計(jì)算。

xml怎么改格式 xml怎么改格式 Apr 03, 2025 am 08:42 AM

可以采用多種方法修改 XML 格式:使用文本編輯器(如 Notepad )進(jìn)行手工編輯;使用在線或桌面 XML 格式化工具(如 XMLbeautifier)進(jìn)行自動(dòng)格式化;使用 XML 轉(zhuǎn)換工具(如 XSLT)定義轉(zhuǎn)換規(guī)則;或者使用編程語言(如 Python)進(jìn)行解析和操作。修改時(shí)需謹(jǐn)慎,并備份原始文件。

xml如何轉(zhuǎn)化為word xml如何轉(zhuǎn)化為word Apr 03, 2025 am 08:15 AM

有三種將 XML 轉(zhuǎn)換為 Word 的方法:使用 Microsoft Word、使用 XML 轉(zhuǎn)換器或使用編程語言。

xml怎么轉(zhuǎn)換成json xml怎么轉(zhuǎn)換成json Apr 03, 2025 am 09:09 AM

將 XML 轉(zhuǎn)換為 JSON 的方法包括:使用編程語言(如 Python、Java、C#)編寫腳本或程序進(jìn)行轉(zhuǎn)換;使用在線工具(如 XML 轉(zhuǎn)換為 JSON、Gojko's XML 轉(zhuǎn)換器、XML 在線工具)粘貼或上傳 XML 數(shù)據(jù)并選擇 JSON 格式輸出;使用 XML 到 JSON 轉(zhuǎn)換器(如 Oxygen XML Editor、Stylus Studio、Altova XMLSpy)執(zhí)行轉(zhuǎn)換任務(wù);使用 XSLT 樣式表將 XML 轉(zhuǎn)換為 JSON;使用數(shù)據(jù)集成工具(如 Informatic

c#多線程編程是什么  c#多線程編程用處 c#多線程編程是什么 c#多線程編程用處 Apr 03, 2025 pm 02:45 PM

C# 多線程編程是一種讓程序同時(shí)執(zhí)行多項(xiàng)任務(wù)的技術(shù),它可以通過提升性能、提高響應(yīng)能力和實(shí)現(xiàn)并行處理來提高程序效率。雖然 Thread 類提供了直接創(chuàng)建線程的方法,但 Task 和 async/await 等高級(jí)工具可以提供更安全的異步操作和更簡潔的代碼結(jié)構(gòu)。多線程編程中常見的難題包括死鎖、競(jìng)態(tài)條件和資源泄漏,需要仔細(xì)設(shè)計(jì)線程模型和使用適當(dāng)?shù)耐綑C(jī)制來避免這些問題。

C#.NET:使用.NET生態(tài)系統(tǒng)構(gòu)建應(yīng)用程序 C#.NET:使用.NET生態(tài)系統(tǒng)構(gòu)建應(yīng)用程序 Apr 27, 2025 am 12:12 AM

如何利用.NET構(gòu)建應(yīng)用?使用.NET構(gòu)建應(yīng)用可以通過以下步驟實(shí)現(xiàn):1)了解.NET基礎(chǔ)知識(shí),包括C#語言和跨平臺(tái)開發(fā)支持;2)學(xué)習(xí)核心概念,如.NET生態(tài)系統(tǒng)的組件和工作原理;3)掌握基本和高級(jí)用法,從簡單控制臺(tái)應(yīng)用到復(fù)雜的WebAPI和數(shù)據(jù)庫操作;4)熟悉常見錯(cuò)誤與調(diào)試技巧,如配置和數(shù)據(jù)庫連接問題;5)應(yīng)用性能優(yōu)化與最佳實(shí)踐,如異步編程和緩存。

從網(wǎng)絡(luò)到桌面:C#.NET的多功能性 從網(wǎng)絡(luò)到桌面:C#.NET的多功能性 Apr 15, 2025 am 12:07 AM

C#.NETisversatileforbothwebanddesktopdevelopment.1)Forweb,useASP.NETfordynamicapplications.2)Fordesktop,employWindowsFormsorWPFforrichinterfaces.3)UseXamarinforcross-platformdevelopment,enablingcodesharingacrossWindows,macOS,Linux,andmobiledevices.

See all articles