تعاریف Public, Private و Protected:
در سی شارپ می توان متدهای کلاس و متغیرها را به شکل Public, Private یا Protected تعریف نمود. متد یا خصوصیت Public یا عمومی در کلاسهای دیگر قابل دسترس است.
متد یا خصوصیت Private یا خصوصی فقط در همان کلاس قابل دسترس است. معمولا تمامی متغیرهای کلاس را به شکل Private خصوصی تعریف می کنیم و برای دسترسی به آنها از توابع دسترسی Get و Set استفاده می کنیم. اینکه متغیرهای در خارج از کلاس در دسترس باشند، ایده بسیار بدی خواهد بود. زیرا این امر تخلف از قانون کپسوله نمودن (Encapsulation) در شی گرایی است.
یا به عبارت دیگر تمامی متغیرهای کلاس فقط باید در محدوده کلاس قابل دسترس باشند.
در سی شارپ می توان متدها و متغیرها را به شکل Protected یا محافظ شده نیز تعریف نمود. متد یا متغیر محافظت شده در تمامی کلاس و زیرکلاسهای تعریف شده قابل دسترس است. یا بطور ساده متد یا متغیر محافظت شده فقط در همان کلاس یا کلاسهایی که از آن مشتق می شوند قابل دسترس است و خارج از کلاس نمی توان به آن دسترسی داشت.
زهرانجفی
توضیح |
کلیدهای میانبر |
تبدیل متن انتخاب شده به Comment |
Ctrl+K,Ctrl+C |
خارج کردن متن انتخاب شده از حالت Co mment |
Crtl+K, Crtl+U |
انتقال اشاره گر به خط مورد نظر با استفاده از شماره خط |
Ctrl+G |
نمایش پنجره Properties |
F4 |
جابجایی در پنجره کد و پنجره طراحی |
F7 |
حرکت در بین Tab ها |
Ctrl+Tab |
حذف خط جاری |
Ctrl+L |
اضافه کردن یک آیتم جدید به پروژه |
Ctrl+Shift+A |
بستن Tab جاری |
Ctrl+F4 |
ایجاد و یا حذف Breakpoint |
F9 |
نمایش Tab جاری بصورت تمام صفحه و بالعکس |
Shift+Alt+Enter |
تنظیم فرمت متن انتخاب شده |
Ctrl+K, Ctrl+D |
کمپایل همه Solution |
Ctrl+Shift+B |
using System
;using System.Collections.Generic
;using System.ComponentMode
;using System.Data
;using System.Drawingusing System.Text
;using System.windows.Forms
namespace windowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
();InitializeComponent
}
( private void button1_Click( sender, EventArgs e
{
; System.windows.Forms.DialogResult s;
,s= MessageBox.Show("پیام کادر","عنوان کادر",
MessageBoxButtons.YesNoCancel,
MessageBoxIcon.Question,
; ( MessageBoxDefaultButton.Button3 )
( if (s == DialogResult.Yes {
; this.Text = "Yes"
;()Application.Exit
}
}
( private void Form1_Load( sender, EventArgs e {
;() timer1.Start
}
( private void timer1_Tick( sender, EventArgs e
{
;
() this.Text = DateTime.Now.ToString
; ( long a = Convert.ToInt64(textBox1.Text )
;++ a
textBox1.Text = a.
name :خصو صیتی است برای تمامی کنترل ها که نام آنها را در قسمت کد معین می کند .
text: خصو صیتی است برای تمامی کنترل ها که عنوان آنها را در قسمت طراحی معین می کند .
enable: خصو صیتی است برای تمامی کنترل ها که می تواند آنها را فعال یا غیر فعال کند .
visibl :خصو صیتی است برای تمامی کنترل ها کهبرای نمایش یا عدم نمایش آنهاست .
word wrop: خصو صیتی است برای کنترل rich text box که اگر فعال باشد امکان نوشتن را به ما می دهد .
image: برای دکمه های کنترل toolstrip که می توان با آن تصویر زمینه دکمه را عوض کرد .
tooltiptext: خاصیتی است برای نمایش کادر متن که قبل از آن حتماً باید خاصیت autotooltip
را فعال کرد.
آرزو جلو لی
groupbox : کنترلی است که عمل یک قاب را انجام می دهد می توانند تعدادی کنترل را گروه بندی کند
menustrip: کنترلی است برای ایجاد نوار منو
toolstrip:کنترلی است برای ایجاد نوار ابزار
richtextbox: کنترلی است برای ایجاد یک صفحه متنی
list box: کنترلی است برای ایجاد یک لیست
combobox: کنترلی است برای ایجاد لیست ها ی کشوی
chickid:کنترلی است برای ایجاد دکمه های رادیوی که فقط در یک لحظه امکان فعال کردن یک دکمه وجود دارد
آرزو جلولی
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter One Number:");
int m = int.Parse(Console.ReadLine());
Program p = new Program();
int f=p.fact(m);
int f1 = Program.fact1(m);
Console.WriteLine("{0},{1}",f,f1);
Console.ReadLine();
}
private int fact(int n)
{
if (n <= 1) return 1;
return n * fact(n - 1);
}
static int fact1(int n)
{
if (n <= 1) return 1;
return n * fact1(n - 1);
}
}
}
آرزو جلولی
ausing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
ArrayList p = new ArrayList();
ListBox[] s = new ListBox[4];
public Form1()
{
InitializeComponent();
}
private void button2_Click( sender, EventArgs e)
{
string [] s=new string[4];
s[0]="پیک";
s[1]="خشت";
s[2]="دل";
s[3]="گشنیز";
for(int i=0;i<4;i++)
{
for (int j = 1; j <= 13; j++)
{
p.Add(s[i] + j.ToString());
listBox5.Items.Add(s[i] + j.ToString());
}
}
}
private void button1_Click( sender, EventArgs e)
{
Random r = new Random();
for(int i=0;i<4;i++)
for (int j = 0; j < 5; j++)
{
if (p.Count != 0)
{
int x = r.Next() % p.Count;
s[i].Items.Add(Convert.ToString(p[x]));
p.RemoveAt(x);
listBox5.Items.RemoveAt(x);
}
}
button1.Enabled = false;
}
private void button3_Click( sender, EventArgs e)
{
Random r = new Random();
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
{
if (p.Count != 0)
{
int x = r.Next() % p.Count;
s[i].Items.Add(Convert.ToString(p[x]));
p.RemoveAt(x);
listBox5.Items.RemoveAt(x);
}
}
button3.Enabled = false;
}
private void button4_Click( sender, EventArgs e)
{
Random r = new Random();
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
{
if (p.Count != 0)
{
int x = r.Next() % p.Count;
s[i].Items.Add(Convert.ToString(p[x]));
p.RemoveAt(x);
listBox5.Items.RemoveAt(x);
}
}
button4.Enabled = false;
}
private void Form1_Load( sender, EventArgs e)
{
s[0] = listBox1;
s[1] = listBox2;
s[2] = listBox3;
s[3] = listBox4;
}
}
}
آرزو جلولی
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Queue q = new Queue();
int n;
do
{ n = int.Parse(Console.ReadLine());
q.Enqueue(n);
} while (n != 0);
int sum = 0;
while (q.Count != 2)
{
int a = Convert.ToInt16(q.Dequeue());
sum += Math.Abs(a-Convert.ToInt16(q.Peek()));
}
Console.WriteLine("{0}",sum );
Console.ReadLine();
}
}
}
آرزو جلولی
STACK: ساختار مجمو عه ای از عناصر غیر هم نوع که در قالب یک نوع ذخیره می شوند این ساختار در سی شارپ همانند یک کلاس است یعنی کلیه اجزای کلاس همانند سازنده فیلد و متدها در این ساختار نیز قابل پیاده سازی است }نام ساختار STACK
سازنده
فیلد ها
متد ها
{
بعد از تعریف این ساختار برای استفاده از آن باید از روی استک متغییر تعریف کنیم.
; نام متغییر نام ساختار
مقایسه STACK باCLASS : همانطور که دید ساختار STACK مشابه ساختار CALSS انواع تعریف شده از روی کلاس شی بوده و جزء انواع ارجاعی اشاره گر به شمار می آید ولی انواع تعریف شده از روی STACK مانند سایر متغییر ها جزء انواع مقدار دهی می باشد .
اگر برای یک کلاس سازنده ای ننویسیم در این صورت خود کامپایلر سازنده پیش فرضی برای آن ایجاد خواهد کرد ولی در مورد STACK ها این چنین و اگر STACK داری سازنده نباشد دیگر از کلمه از کلیدی NEW برای تعریف متغییر از روی آن استفاده نمی شود یک کلاس می تواند زیر کلاس داشته باشد مگر اینکه خودش زیر کلاس کلاس دیگر باشد در حالی که یک STACK چنین نیست
نمایش کادر های محاوره ای و ایجاد آنها
MAASSAG BOX BUTTON: در این قسمت تعداد دکمه ها را انتخاب می کنیم.
DIFULT BUTON: در این قسمت دکمه پیش فرض را انتخاب می کنیم .
ICON BOX:تعداد آیکن را مشخص می کند .