C#函數(shù)out多個(gè)返回值問題
C#函數(shù)返回多個(gè)參數(shù)數(shù)值
通過out/Ref實(shí)現(xiàn),聲明函數(shù)時(shí)用out指定返回變量。
- 寫了一個(gè)DEMO,輸入字符“測試字符”和數(shù)字6,返回“測試字符+新加字符”和666。
- 寫了一個(gè)窗體和button觸發(fā)函數(shù),整理代碼如下,供大家參考。
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btn_Test_Click(object sender, EventArgs e)
{
//提前聲明返回參數(shù)變量
string str;
int num;
getValue("測試字符", 6,out str,out num);//調(diào)用函數(shù)返回?cái)?shù)值
//輸出查看
Console.WriteLine("str:" + str + ";類型:" + str.GetType().ToString());
Console.WriteLine("num:" + num + ";類型:" + num.GetType().ToString());
}
//定義測試函數(shù)
public void getValue(string in_str, int in_int, out string out_str, out int out_int)
{
out_str = in_str + "+新加字符";
out_int = in_int + 660;//函數(shù)結(jié)束一定給所有out對應(yīng)變量賦值
}
}
}
輸出效果如下:

C#調(diào)用一個(gè)函數(shù)通過out返回多個(gè)變量值/數(shù)據(jù)
我們知道一個(gè)函數(shù)使用過Return來返回值的話只能返回一個(gè)值,在c#中,自定義一個(gè)函數(shù)時(shí),用out 來out多個(gè)值出來,調(diào)用的時(shí)候就可以返回多個(gè)值
舉例
現(xiàn)在自己寫一個(gè)函數(shù)calculate(),需要返回加法和減法的計(jì)算結(jié)果,在主函數(shù)中輸出
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
int c , d ;
calculate(2, 3, out c,out d);
Console.WriteLine(c);
Console.WriteLine(d);
Console.ReadLine();
}
private static void calculate(int a, int b, out int c, out int d)
{
c = a + b;
d = a - b;
}
}
}private寫習(xí)慣了static不想在主函數(shù)中再對calculate實(shí)例化void不要返回值 (第一次寫的時(shí)候掉了void 別掉)
也可以加返回值,比如,取返回值是bool型。比較a,b的值,如果a>b,輸出c,如果a<=b,則c不輸出,輸出“nothing”
static void Main(string[] args)
{
int c;
if (calculate(2, 3, out c))
Console.WriteLine("c = "+c);
else
Console.WriteLine("Nothing");
Console.ReadLine();
}
private static bool calculate(int a, int b, out int c)
{
bool t;
if (a > b)
t = true;
else
t = false;
c = a - b;
return t;
}輸出結(jié)果:

如果改變輸入 使得a= 3,b =2,則輸出結(jié)果:

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C#應(yīng)用XML作為數(shù)據(jù)庫的快速開發(fā)框架實(shí)現(xiàn)方法
這篇文章主要介紹了C#應(yīng)用XML作為數(shù)據(jù)庫的快速開發(fā)框架實(shí)現(xiàn)方法,詳細(xì)介紹了將XML作為數(shù)據(jù)庫的C#桌面應(yīng)用開發(fā)技巧,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12
英雄聯(lián)盟輔助lol掛機(jī)不被踢的方法(lol掛機(jī)腳本)
lol掛機(jī)不會(huì)被踢,調(diào)用API設(shè)置鼠標(biāo)位置并模擬鼠標(biāo)右鍵讓人物走動(dòng)2013-12-12
C#如何優(yōu)雅的對WinForm窗體應(yīng)用程序進(jìn)行權(quán)限控制
經(jīng)常會(huì)出現(xiàn)winfrom頁面需要加載權(quán)限樹,下面這篇文章主要給大家介紹了關(guān)于C#如何優(yōu)雅的對WinForm窗體應(yīng)用程序進(jìn)行權(quán)限控制的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11
c# StringBuilder.Replace 方法 (Char, Char, Int32, Int32)
c# StringBuilder.Replace 方法 (Char, Char, Int32, Int32)...2007-08-08

