Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Rujukan C#

Rujukan C#

PHPz
PHPzasal
2024-09-03 15:26:23310semak imbas

Lokasi memori pembolehubah boleh dirujuk dengan menggunakan parameter yang dipanggil parameter rujukan dalam C# dan ia berbeza daripada parameter yang dipanggil parameter nilai di mana nilai dihantar sebagai parameter dan lokasi memori baharu dicipta untuk nilai ini sedangkan, dalam parameter rujukan, tiada lokasi memori diperuntukkan untuk parameter ini kerana hanya rujukan parameter ini diluluskan dan parameter rujukan boleh diisytiharkan dengan menggunakan rujukan kata kunci.

Sintaks untuk mengisytiharkan parameter rujukan dalam C# adalah seperti berikut:

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

Sintaks di atas mewakili mengisytiharkan parameter rujukan dalam C#. Parameter rujukan boleh diisytiharkan dengan menggunakan rujukan kata kunci dan ia boleh diakses dengan menggunakan rujukan kata kunci.

Kerja Parameter Rujukan dalam C#

Pertimbangkan atur cara berikut yang terdiri daripada dua kaedah tambah dan tolak. Kaedah tambah menerima parameter yang diluluskan mengikut nilai dan kaedah tolak menerima parameter yang diluluskan sebagai rujukan. Pada mulanya, dua pembolehubah diisytiharkan dan dimulakan dengan dua nilai. Kemudian tambah kaedah dipanggil dengan menghantar nilai sebagai parameter. Tiada perubahan dalam nilai walaupun kaedah itu sepatutnya melakukan operasi pada nilai yang diluluskan sebagai parameter kerana ini melepasi nilai. Kaedah tolak seterusnya dipanggil yang mana parameter rujukan diluluskan. Operasi yang ditakrifkan dalam kaedah tolak dilakukan pada nilai yang diluluskan sebagai rujukan dan ia dikemas kini.

Kod:

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;
}
}
}

Output:

Rujukan C#

Jenis Rujukan dalam C#

Berikut ialah Jenis Rujukan berikut dalam C#

1. Kelas

Kelas ialah salah satu jenis rujukan C# dan ia boleh diisytiharkan menggunakan kelas kata kunci. Sintaks untuk mengisytiharkan kelas dalam C# ditunjukkan di bawah:

Class classname
{
}

Kelas menyokong warisan. Itulah kelas boleh mewarisi pelaksanaan kelas asas. Kelas boleh sama ada awam, persendirian, dilindungi. Program berikut menunjukkan penciptaan kelas.

Kod:

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();
}
}
}

Output:

Rujukan C#

2. Antara muka

Kontrak ditakrifkan menggunakan antara muka. Ahli mana-mana kelas mempunyai pelaksanaan pasti yang disediakan oleh antara muka. Program berikut menunjukkan penciptaan dan pelaksanaan antara muka.

Kod:

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);
}
}

Output:

Rujukan C#

3. Wakilkan

Pengisytiharan jenis perwakilan adalah seperti pengisytiharan kaedah. Ia mengembalikan nilai dan ia boleh mengambil sebarang bilangan argumen dari sebarang jenis sebagai parameter. Ia pada asasnya digunakan dalam enkapsulasi kaedah yang bertindak sebagai penunjuk kepada fungsi. Seorang perwakilan boleh diisytiharkan menggunakan kata kunci perwakilan. Sintaks untuk mengisytiharkan perwakilan adalah seperti berikut:

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

Pertimbangkan program di bawah yang menunjukkan penciptaan perwakilan

Kod:

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);
}
}

Output:

Rujukan C#

Kesimpulan

Dalam tutorial ini, kami memahami konsep Rujukan dalam C# melalui definisi dan kemudian memahami sintaks dan jenis rujukan dalam C# melalui program contoh.

Atas ialah kandungan terperinci Rujukan C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Polimorfisme dalam C#Artikel seterusnya:Polimorfisme dalam C#