首頁  >  文章  >  後端開發  >  C# 參考資料

C# 參考資料

PHPz
PHPz原創
2024-09-03 15:26:23333瀏覽

變數的記憶體位置可以透過使用C# 中稱為引用參數的參數來引用,它們與稱為值參數的參數不同,在值參數中,值作為參數傳遞,並為這些值建立一個新的內存位置,而在引用參數中,不會為這些參數分配記憶體位置,因為僅傳遞這些參數的引用,並且可以使用關鍵字ref 來聲明引用參數。

C# 中宣告引用參數的語法如下:

return type Method name(ref arg1, ref arg2)
Declare local variables, for example a, b
Calling the method,
Method name(ref a, ref b)

以上語法表示在 C# 中宣告引用參數。 引用參數可以使用關鍵字 ref 來聲明,並且可以使用關鍵字 ref 來存取它們。

C# 中參考參數的工作

考慮以下程序,其中包含兩個方法加法和減法。 add 方法接受以值傳遞的參數,subtract 方法接受作為參考傳遞的參數。最初,聲明兩個變數並用兩個值初始化。然後透過將值作為參數傳遞來呼叫 add 方法。即使該方法應該對作為參數傳遞的值執行操作,該值也不會發生變化,因為這是按值傳遞的。呼叫下一個減法方法,將引用參數傳遞到該方法。對作為引用傳遞的值執行減法方法中定義的操作並更新它。

代碼:

using System;
namespace refer {
public class check {
// Calling the main method
public void Main(string[] args)
{
// The values of a and b are initialized
int a = 15, b = 20;
// The values of a and b are displayed before making changes to the values
Console.WriteLine("value of a before changing is {0}", a);
Console.WriteLine("value of b before changing is {0}", b);
Console.WriteLine();
// The add method is called by passing the value
add(a);
// After calling the method by value, the changes value is displyed
Console.WriteLine("After calling the add function"+
" value of a is {0}", a);
// The sub method is called by passing the reference
subtract(ref b);
// Display modified value of b
Console.WriteLine("Value of b after "+
"subtration operation is {0}", b);
}
// Defining the add method which accepts value as parameters
public static void add(int a)
{
a += 5;
}
// Defining the subtract method which accepts reference as parameters
public static void subtract(ref int b)
{
b -= 5;
}
}
}

輸出:

C# 參考資料

C# 中的引用型別

以下是 C# 中的以下引用型別

1.班級

類別是 C# 參考類型之一,可以使用關鍵字 class 來聲明它們。 C# 中宣告類別的語法如下所示:

Class classname
{
}

該類別支援繼承。也就是說一個類別可以繼承基底類別的實作。類別可以是公共的、私有的、受保護的。下面的程式演示了類別的創建。

代碼:

using System;
namespace check
{
class children
{
private int height;
private string names;
// This is the consturctor class which is default
public children()
{
names = "nobody";
}
// Defining a constructor with arguments
public children(string names, int height)
{
this.names = names;
this.height = height;
}
// The method to print the values
public void Print()
{
Console.WriteLine("{0} is {1} inches tall.", names, height);
}
}
class Test
{
static void Main()
{
// New operator is used to create the objects on the class
children child1 = new children("Shobha", 5);
children child2 = new children("Ravi", 6);
// An object is created using default constructor
children child3 = new children();
// The results are displayed
Console.Write("The first child: ");
child1.Print();
Console.Write("The second child: ");
child2.Print();
Console.Write("The third child: ");
child3.Print();
}
}
}

輸出:

C# 參考資料

2.介面

合約是使用介面定義的。任何類別的成員都有介面提供的明確實作。下面的程式示範了介面的建立和實作。

代碼:

using System;
//An interface is defined
interface Point
{
int A
{
get;
set;
}
int B
{
get;
set;
}
double Dist
{
get;
}
}
//A class is implementing the interface
class Pointed : Point
{
// Constructor of the class
public Pointed(int a, int b)
{
A = a;
B = b;
}
public int A { get; set; }
public int B { get; set; }
public double Dist =>
Math.Sqrt(A * A + B * B);
}
class Maincl
{
static void PrintPointed(Point r)
{
Console.WriteLine("a={0}, b={1}", r.A, r.B);
}
static void Main()
{
Point r = new Pointed(2, 3);
Console.Write("the points are: ");
PrintPointed(r);
}
}

輸出:

C# 參考資料

3.代表

委託類型的聲明就像方法的聲明。它傳回一個值,並且可以採用任意數量、任意類型的參數作為參數。它主要用於封裝方法,並充當函數指標。可以使用 delegate 關鍵字聲明委託。聲明委託的語法如下:

<access modifier> delegate <return type> <delegate_name>(<parameters>)

考慮下面的程式來示範委託的創建

代碼:

using System;
class Program
{
// Creating delegates
public delegate void Printdel(int values);
static void Main(string[] args)
{
// We are printing a number using delegates
Printdel print = PrintNum;
print(100);
print(20);
//We are printing money using printmon delegate
print = PrintMon;
print(10);
print(20);
}
public static void PrintNum(int number)
{
Console.WriteLine("The Number is: {0,-12:N0}",number);
}
public static void PrintMon(int mon)
{
Console.WriteLine("The Money is: {0:C}", mon);
}
}

輸出:

C# 參考資料

結論

在本教程中,我們透過定義來了解 C# 中引用的概念,然後透過範例程式了解 C# 中引用的語法和類型。

以上是C# 參考資料的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:C# 中的多態性下一篇:C# 中的多態性