آموزش Returns Ref در C# 7.0

 Returns Ref

در این مقاله به بررسی Returns Ref در سی شارپ میپردازیم.کلمه کلیدی ref در C# این قابلیت را به کد می دهد که یک متغیر مقداری را توسط رفرنس آن به عنوان پارامتر متد ارسال کند. برای استفاده از پارامتر ref، هم تعریف متد و هم فراخوانی متد باید به طور مستقیم از کلمه کلیدی ref استفاده کنند.


class Program    
{  
  static void Main(string[] args)   
  {    
    long total = 0;    
    AuthorByRefParam(5, 10, ref total);    
    Console.WriteLine(total);  
    Console.ReadKey();    
  }  
    static void AuthorByRefParam(long a, long b, ref long total)    
  {    
    total = a + b;    
  }  
  } 

متد AuthorByRefParam سه پارامتر با رفرنس را می پذیرد. برنامه فراخواننده متد را با مقداردهی اولیه یک متغیر فراخوانده و آن را به عنوان یک پارامتر با استفاده مستقیم کلمه کلیدی ref ارسال می کند.

در C# 7.0، مقدار می تواند برگردانده شده یا به صورت محلی توسط رفرنس ذخیره شود.

Returns Ref

C# 7.0 کلمه کلیدی ref بهبودیافته ای معرفی کرد که می تواند برای برگرداندن مقادیر توسط ref استفاده شود. همچنین Ref می تواند برای ذخیره مقادیر توسط ref در متغیرهای محلی نیز استفاده شود.

در کد زیر، متد FindAuthor مقدار رشته ای را توسط رفرنس برمی گرداند.


class Program 
{ 
 
static void Main(string[] args) 
{ 
 
// Create an array of author names 
string[] authors = { "جعفرنژاد قمی", "غلامرضا فصیح", "ابراهیم قلزم", "هاروی دیتل", "صادق زاده" }; 
 
// Call a method that returns by ref 
ref string author4 = ref new Program().FindAuthor(3, authors); 
Console.WriteLine("نویسنده اصلی:{۰}", author4); 
 
// Prints 4th author in array = Allen O'neill 
Console.WriteLine(); 
 
// Replace 4th author by new author. By Ref, it will update the array 
author4 = "دکتر پدرام"; 
 
// Print 4th author in array 
 Console.WriteLine("نویسنده جایگزین:{۰}", authors[3]); 
 
//Prints Chris Sells 
Console.ReadKey(); 
 
} 
 
public ref string FindAuthor(int number, string[] names) 
{ 
 
if (names.Length > 0) 
return ref names[number]; // return the storage location, not the value 
throw new IndexOutOfRangeException($"{یافت نشد (number)نام}"); 
 
} 


خلاصه

Returns Ref مفهوم جدیدی است که در C# 7.0 معرفی شد. در این مقاله، یاد گرفتیم که چگونه از این ویژگی استفاده کنیم.

ما در این مقاله به بررسی ویژگی های سی شارپ ۷ پرداخته ایم.

  • پسورد: www.mspsoft.com
فاطمه زکایی

فاطمه زکایی هستم. فارغ التحصیل کارشناسی مهندسی نرم افزار، مدت سه سال هست که در زمینه توسعه اپلیکیشن های تحت وب و اندروید و همچنین تولید محتوای تخصصی برنامه نویسی تحت وب و اندروید در مجموعه mspsoft در خدمت شما هستم.

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.