دانلود نرم افزار - آموزش سی شارپ
دانلود نرم افزار - آموزش سی شارپ

دانلود نرم افزار - آموزش سی شارپ

ایندکسر (Indexers)

ایندکس ها اجازه می دهند نمونه هایی از کلاس یا ساختار درست مانند آرایه ها فهرست بندی شوند. مقدار ایندکس شده را می توان بدون مشخص کردن یک عضو یا عضو نمونه ، تنظیم یا بازیابی کرد. ایندکس ها به خصوصیات شباهت دارند به جز اینکه دسترسی آنها به پارامترهایی تبدیل می شود.

 

using System;
class SampleCollection<T>
{
    private T[] arr = new T[100];
    public T this[int i]
   {
      get { return arr[i]; }
      set { arr[i] = value; }
   }
}
 class Program
{
   static void Main (string[] args)
   {
      var stringCollection = new SampleCollection<string>();
      stringCollection[0] = "Hello, World";
      Console.WriteLine(stringCollection[0]);
   }
}
// مثال بالا خروجی زیر را نمایش می دهد:
//       Hello, World.

متد (Methods)

abstract class Motorcycle

{

هرکسی می تواند این را صدا کند.//

    public void StartEngine() {/* محل عبارات متد */ }

فقط کلاسهای مشتق شده می توانند این را صدا کنند.//

    protected void AddGas(int gallons) { /* محل عبارات متد */ }

کلاسهای مشتق شده می توانند اجرای کلاس پایه را نادیده بگیرند.//

    public virtual int Drive(int miles, int speed) { /* محل عبارات متد */ return 1; }

کلاسهای مشتق شده باید این کار را عملی کنند.//

    public abstract double GetTopSpeed();

}

فیلدها ( Fields )

فیلدها در واقع همان متغییرها می باشند که در فضای یک کلاس یا ساختار به آن ها فلید گفته می شود.

public class CalendarEntry

{
    // private field
    private DateTime date;
    // public field (Generally not recommended.)
    public string day;
    // Public property exposes date field safely.
    public DateTime Date 
    {
        get 
        {
            return date;
        }
        set 
        {
   // Set some reasonable boundaries for likely birth dates.
if (value.Year > 1900 && value.Year <= DateTime.Today.Year)
 {
date = value;
 }
 else
 {
 throw new ArgumentOutOfRangeException();
 }
 }
}
 // Public method also exposes date field safely.
// Example call: birthday.SetDate("1975, 6, 30");
 public void SetDate(string dateString)
 {
 DateTime dt = Convert.ToDateTime(dateString);
 // Set some reasonable boundaries for likely birth dates.
 if (dt.Year > 1900 && dt.Year <= DateTime.Today.Year)
 {
 date = dt;
 }
 else
{
 throw new ArgumentOutOfRangeException();
 }
 }
  public TimeSpan GetTimeSpan(string dateString)
  {
 DateTime dt = Convert.ToDateTime(dateString);
  if (dt != null && dt.Ticks < date.Ticks)
 {
  return date - dt;
 }
 else
  {
 throw new ArgumentOutOfRangeException();
        }
    }
}

ثابت ها: ( const )

ثابت ها بخش تغییر ناپذیری از محتوای کلاس هستند که در هنگام کمپایل برنامه شناسایی شده و در طول برنامه تغییر نمی کنند. بطوری که در مثال زیر مشاهده می کنید ثابت ها با کلمه const  اعلان می شوند.

class Calenda

}

public const int Months = 12 ;

}