سلام من چند تا سایت ایرانی هم چرخی زدم اما لپ کلام،اخر نفهمیدیم چی به چی هست
سلام من چند تا سایت ایرانی هم چرخی زدم اما لپ کلام،اخر نفهمیدیم چی به چی هست
variable: متغیر ها جهت نگهداری مقادیر مختلف از یک نوع می باشند. مثلاً متغیر از نوع صحیح int a;
const: جهت معرفی یک مقدار ثابت ولی با نام استفاده میشوند. بدین صورت که یک برچسب برای یک مقدار ثابت مشخص میکنیم سپس در طول برنامه از این نام بجای مقدار صریحش استفاده میشود. کامپایلر معمولا در هنگام ساخت نهایی فایل اجرایی این عنوان را با مقدارش تعویض میکند و اثری از نام مقدار باقی نخواهد ماند. مثلاً const int a= 125;
Literal: لیترال یا حرفی در اصل همان مقدار ثابت است که صریحاً استفاده میشوند. مثلاً عدد 25 در بالا یک لیترال است. توصیه میشود که تا جای ممکن از لیترال استفاده نشود و بجای آن از const استفاده شود تا اگر نیاز به تغییر پیدا کرد فقط در یک خط نیاز به بروز رسانی باشد.
readonly: این کلمه در سی شارپ نمایانگر یک ارجاع ثابت است. اگر نوع مقداری ثابتی نیاز باشد از const و اگر نوع ارجاعی ثابتی نیاز باشد از readonly استفاده میشود. دقت کنید که ثابت های readonly رو میتوانید در سازنده کلاس مقداردهی نمائید در حالی که این امکان برای const وجود ندارد.
با سلام
دوست عزیز
اجزای اصلی سی شارپ عبارتند از:
- فاصله خالی
- کلمات کلیدی
- لیترال ها
- شناسه ها
یعنی کد ما از موارد بالا تشکیل شده یعنی اون چیزی که داریم می نویسیم حتما یکی از موارد بالا هست.
حالا لیترال ها می توانند اعداد، حروف، رشته ها یا هر مقداری باشند.
ما نوع داده string و به یک مقدار که بصورت صریح اشاره می شود لیترال می گویند. مثلا
string name = "ali";
در اینجا ali یک لیترال رشته ای است که درون دو جفت دابل کوتیشن ذخیره شده است.
یا
int num = 12;
در اینجا 12 یک لیترال هست.
و
از این دست موارد.
موفق و پیروز باشد.
با تشکر
با سلام
دوست عزیز
من فکر می کنم فرق اصلی Readonly با Const در این هست:
مقدار ReadOnly را چه در زمان اجرا و چه قبل از اجرا می توان تغییر داد.(البته فقط داخل کلاس خودش تغییرش داد و خارج از کلاسش نمی توان آنرا را تغییر داد و فکر می کنم همین دلیل استفاده از ReadOnly هست)
اما
Const فقط یک بار مقدار می گیرد و در طول اجرا یا قبل از اجرا نمی توان تغییرش داد.
با تشکر
سلام
خیر
readonly وقتی مقدار گرفت دیگه نمیشه تغیرش داد
از نظر من فرقش با const در این هست که یک انعطاف پذیری داره که فورا نمیخواهد بهش مقدار بدید و در سازنده میشه تکلیف ش رو روشن کرد و وقتی مقدار گرفت دیگر حتی درون خود متد های آن کلاس هم قابل تغیر نمی باشد. به عنوان نمونه کد زیر را مشاهده کنید لطفا
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sample4
{
class class1
{
readonly int a;
public class1 ()
{
a = 10;
}
int Return ()
{
a = a * 2; // error
return a;
}
}
class Program
{
static void Main(string[] args)
{
Console.ReadLine();
}
}
}
آخرین ویرایش به وسیله irpersian20 : پنج شنبه 01 مرداد 1394 در 08:29 صبح