PDA

View Full Version : فراخوانی با ارجاع در C#



mahdi bg
جمعه 30 آذر 1386, 22:58 عصر
سلام
اگر بخواهیم مقدار یک متغییر در فراخوانی های یک تابع هر بار
که تغییر کرد مقدار جدید رو در خودش نگه داره یا
1-باید بصورت global تعریف بشه
2-یا باید بصورت فراخوانی با ارجاع باشه(در C++)


فراخوانی با ارجاع در C# چطوریه

ممنون

KavoshGar_ir
جمعه 30 آذر 1386, 23:24 عصر
سلام
اگر بخواهیم مقدار یک متغییر در فراخوانی های یک تابع هر بار
که تغییر کرد مقدار جدید رو در خودش نگه داره یا
1-باید بصورت global تعریف بشه
2-یا باید بصورت فراخوانی با ارجاع باشه(در C++)


فراخوانی با ارجاع در C# چطوریه

ممنون
قبل از تعریف متغییر به صورت سراسری از public استفاده کن!

مانند :


public string id;

اَرژنگ
شنبه 01 دی 1386, 04:38 صبح
۱) این روش کار کردن شئیگرا نیست
۲) یک کلاس بسازید که یکی از پروپرتیهاش نگه داشن مقدار باشد. تا زمانی که ابجکت آزاد نشده میوانید به آخرین مقدارش دسترسی داشته باشید. در همان کلاس متدتان راتعریف کنید.

mahdi bg
شنبه 01 دی 1386, 08:42 صبح
سلام
من منظورم این بود که کد زیر معادلش در C# چی میشه
نمی خوام یک متغییر سراسری تعریف کنم



void f(int & a)
{
----
}

ممنون

hassan razavi
شنبه 01 دی 1386, 08:45 صبح
از کلمه کلیدی ref استفاده کنید


public void f(ref int x)
{
...
}