java params 关键字_转载------C# ref 和 out ,params关键字的用法
一、ref 的用法——引用
C#提供一種強制按引用傳遞參數的方法。這種方法既能用在值類型上,也能用在引用類型上。
就是同時在方法的聲明和調用上使用 ref 關鍵字。
using System;
class Program
{
static void Main()
{
int i = 10;//必須進行初始化,不然編譯會報錯
fun(ref i);
Console.WriteLine("i = " + i);
Console.ReadLine();
}
static void fun(ref int i)
{
i = 100;
}
}
輸出結果為 : i = 100
二、out 的用法——輸出參數
在C++中,獲得方法的結果要么是通過返回值,要么是通過由引用或指針傳遞的參數。
而在C#中,除了返回值,引用,還提供了一種比較正規的方法。就是使用 out 關鍵字來標記需要返回的參數。
using System;
class MyClass
{
public string TestOut(out string i)
{
i = "使用out關鍵字";
return "out參數";
}
}
class test
{
static void Main()
{
string x;//可以不用初始化,在方法內部賦值即可。
MyClass app = new MyClass();
Console.WriteLine(app.TestOut(out x));
Console.WriteLine(x);
Console.ReadLine();
}
}
輸出結果為:
out參數
使用out關鍵字
三、params 的用法——不定數目的參數
C++中允許函數帶有默認參數,允許不定數目的參數。但C#中不允許函數參數帶有默認值。默認值這種功能,只能用函數重載來代替實現了。
但是C#允許方法帶有不定數量的參數。使用params關鍵字,且參數必須是參數表中的最后一個參數。
using System;
class Program
{
static void Main()
{
fun("Call 1");
Console.WriteLine("\n");
fun("Call 2", 2);
Console.WriteLine("\n");
fun("Call 3", 3.2, "hey look at here", false);
Console.ReadLine();
}
static void fun(string str, params object[] args)
{
Console.WriteLine(str);
foreach (object ob in args)
{
if (ob is int)
{
Console.Write(" int : " + ob);
}
else if (ob is double)
{
Console.Write(" double : " + ob);
}
else if (ob is string)
{
Console.Write(" string : " + ob);
}
else
{
Console.Write(" other type : " + ob);
}
}
}
}
輸出結果為:
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的java params 关键字_转载------C# ref 和 out ,params关键字的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java cas是原子性的么_Java
- 下一篇: java 图片刷新页面_js修改img的