程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 理解C#的Ref和Out關鍵字(1)

理解C#的Ref和Out關鍵字(1)

編輯:關於C語言

類型介紹

在幾乎所有的OOP語言中,都存在2種類型的值。

值類型 引用類型

以C#為例:其值類型為sbyte,byte,char,short,ushort,int,uint,long和ulong,float和double,當然還有decimal和bool。而引用類型則是string和object。

我想說的

我想說的就是——Ref和Out把我弄糊塗的原因是,當時沒有認真的去分析它對不同類型所做出的不同的動作。

對於值類型。

使用了Ref和Out的效果就幾乎和C中使用了指針變量一樣。它能夠讓你直接對原數進行操作,而不是對那個原數的Copy進行操作。舉個小例子:

using System;
namespace ConsoleApplication4
{
///
/// Class1 的摘要說明。
///
class Class1
{
///
/// 應用程序的主入口點。
///
[STAThread]
static void Main(string[] args)
{
int a = 5;
int b;
squareRef(ref a);
squareOut(out b);
Console.WriteLine("The a in the Main is: " + a);
Console.WriteLine("The b in the Main is: " + b);
}
static void squareRef(ref int x)
{
x = x * x;
Console.WriteLine("The x in the squareRef is: " + x);
}
static void squareOut(out int y)
{
y = 10;
y = y * y;
Console.WriteLine("The y in the squareOut is: " + y);
}
}
}

顯示的結果就是——25 100 25 100。

這樣的話,就達到了和C中的指針變量一樣的作用

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved