PDA

View Full Version : مقدمه ای بر سی شارپ : قسمت- 2



Vahid_Nasiri
دوشنبه 13 مرداد 1382, 00:42 صبح
تعریف متغیرها در سی شارپ:

سی شارپ عناصری را که بکار می گیرد همانند اعداد و کاراکترها ، به صورت نوع ها (Types) طبقه بندی می کند. این انواع شامل موارد زیر می شوند :
نوع های پایه ایی از پیش تعریف شده مانند اعداد و غیره.
نوع های تعریف شده توسط کاربر که شامل STRUCT ها و ENUM ها می شوند.


نحوه ی تعریف متغیرها از نوع های پایه ایی از پیش تعریف شده :

همانطور که می دانید از متغیرها برای نگهداری اطلاعات استفاده می شود. در سی شارپ ابتدا نوع متغیر و سپس نام متغیر و در آخر یک سمی کولون بکار برده می شود. برای مثال :


int a;

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


نوع های داده ای پایه ی زیر در در سی شارپ به صورت پیش فرض مهیا هستند:


object : نوعی است نامحدود که می تواند تمام انواع دیگر را نیز شامل شود. مثال :


object = null;

string : رشته ؛ در اینجا یک رشته توالی کاراکترهای یونیکد می باشد. مثال :


string s= "hello";

sbyte : نوع داده ایی صحیح 8 بیتی علامت دار.
byte : نوع داده ایی صحیح 8 بیتی بدون علامت. مثال :


sbyte val = 12;

short : نوع داده ایی صحیح 16 بیتی علامت دار.
ushort : نوع داده ایی صحیح 16 بیتی بدون علامت. مثال :


short val = 12;

int : نوع داده ایی صحیح 32 بیتی علامت دار.
unit : نوع داده ایی صحیح 32 بیتی بدون علامت. مثال :


int val = 12;

long : نوع داده ایی صحیح 64 بیتی علامت دار.
ulong : نوع داده ایی صحیح 64 بیتی بدون علامت. مثال :


Long val1 = 12; long val2 = 34L;

کلا در اینجا u به معنای unsigned است.

float : نوع اعشاری با single precision .
double : نوع اعشاری با double precision . مثال :


float val = 1.23f;

bool : نوع داده ایی Boolean که می تواند true و یا false باشد. مثال :


Bool val = true;

char : کاراکتر، دراینجا char یک کاراکتر یونیکد است.


char val = 'h';

به نحوه ی تعریف کاراکتر ها و همچنین رشته ها در سی شارپ دقت کنید.

decimal : نوع داده ایی دسیمال با 28 رقم معنی دار.


decimal val = 1.23M;


یک نکته :

- بهتر است هنگام تعریف یک متغیر ، نامی با مسما برای آن انتخاب شود تا در هنگام کار خواندن کد ساده تر گردد. همچنین رسم شده است که نوع متغیر را به صورت خلاصه به نام متغیر اضافه می کنند. برای مثال بجای FirstName بهتر است بنویسیم strFirstName . به این نوع نگارش Hungarian notation می گویند.
- تمام نوع های پیش فرض تعریف شده در سی شارپ شیء هستند. در آینده بیشتر در این مورد صحبت خواهیم کرد.



مثال این قسمت :

یک برنامه ی console جدید در را VS.NET باز کنید. نام آنرا در ابتدا ex02 انتخاب نمایید. در اینجا می خواهیم دو متغیر رشته ایی و صحیح را تعریف و سپس در خروجی نمایش دهیم.

کد نهایی به صورت زیر می باشد:



using System;

namespace ex02
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
int intVar1 = 0;

int intVar2;
intVar2=1;

int intV3=15 , intV4 = 12;

string strText1 = "abcd";

Console.WriteLine(
"The value for variables are : \n intVar1="+intVar1 +
"\n intVar2="+ intVar2 +
"\n intV3=" + intV3 +
"\n intV4=" + intV4 +
"\n strText1=" + strText1);

Console.WriteLine("\n\n Press any key to terminate");
Console.ReadLine(); // pause screen!

}
}
}

نکاتی در مورد کد فوق:

- بک اسلش ان ، در زبانهای مشتق شده از سی به معنای new line می باشد.
- در کد فوق نحوه ی تعریف چند متغیر در یک خط و حالتهای مقدار دهی مختلف را ملاحظه می کنید.
- از متد ReadLine برای نگه داشتن خروجی و مشاهده ی آن در اینجا استفاده کردیم.
- عادت کنید به صورت دندانه دار کد بنویسید. اینکار خوانایی کد را صد برابر می کند. در اینجا کدهای داخل متد main ، کاملا چند دندانه از آکولادهای باز و بسته کردن آن جلو تر هستند.
- در کد بالا در متد WriteLine اعداد و رشته ها با هم جمع شده اند! این مورد بدلیل وجود overload های زیاد این تابع و ... میسر گشته است. اصلا به آن دل نبندید! چون در آینده کامپایلر سی شارپ اگر چنین اعمالی را در جاهای دیگری مرتکب شوید به شدت با شما برخورد خواهد کرد!! برای جمع کردن اعداد با رشته ها حتما باید عدد به رشته تبدیل گردد و بعد ... . در این مورد در مقالات بعدی بحث خواهد گردید.


در مورد کلاسها و using و namespace و غیره در آینده بیشتر صحبت خواهیم کرد.

kablayi
چهارشنبه 21 بهمن 1383, 07:15 صبح
:موفق:

sara.sherafati
شنبه 14 مرداد 1391, 13:52 عصر
این تعریف چیه؟

int a=int.Parse(Console.ReadLine())

Parham.D
دوشنبه 16 مرداد 1391, 06:48 صبح
مقداری که ReadLine در محیط Console دریافت میکنه به صورت String هست مثلا "1" و با Parse نوع String رو به مقدار 1 عددی (int) تبدیل میکنیم.

Galaxy1
دوشنبه 16 مرداد 1391, 15:26 عصر
اين كد خط چيست؟
{

Galaxy1
دوشنبه 16 مرداد 1391, 15:36 عصر
با سلام عرض خسته نباشيد به همه
IDE و net framework. چيست؟

Galaxy1
دوشنبه 16 مرداد 1391, 15:44 عصر
چارچوب داتنت (تلفظ نقطه خالص) چهارچوب نرم افزاری توسعه یافته توسط مایکروسافت است که عمدتا بر روی ویندوز مایکروسافت اجرا می شود. این شامل یک کتابخانه بزرگ و متقابل زبان ( هر زبان می تواند کد نوشته شده به زبان های دیگر استفاده کنید ) را در سراسر زبان های برنامه نویسی مختلف را فراهم می کند. اجرای برنامه های نوشته شده برای دات نت در محیط نرم افزار ( که در محیط سخت افزاری مقایسه ) ، شناخته شده به عنوان زبان مشترک زمان اجرا (CLR) ، ماشین مجازی فراهم می کند که خدمات مهمی مانند امنیت ، مدیریت حافظه، و پردازش استثنا. کتابخانه کلاس و CLR با هم دات نت را تشکیل می دهند.
کلاس کتابخانه ای پایه چارچوب داتنت را فراهم می کند رابط کاربر، دسترسی به داده ها ، اتصال به پایگاه داده ، رمزنگاری ، وب توسعه نرم افزار ، الگوریتم های عددی و ارتباطات شبکه است. برنامه نویسی تولید نرم افزار با ترکیب کد منبع خود را با چارچوب دات نت و کتابخانه های دیگر است. چارچوب دات نت است در نظر گرفته شده توسط اکثر برنامه های کاربردی جدید ایجاد شده برای پلت فرم ویندوز مورد استفاده قرار گیرد. مایکروسافت همچنین یک محیط توسعه یکپارچه تا حد زیادی برای دات نت نرم افزار به نام ویژوال استودیو.

Galaxy1
دوشنبه 16 مرداد 1391, 15:47 عصر
CLR چيست ؟

Galaxy1
دوشنبه 16 مرداد 1391, 15:47 عصر
زبان مشترک زمان اجرا (CLR) بخش ماشین مجازی مایکروسافت دات نت فریم ورک است و مسئول برای مدیریت اجرای برنامه دات نت است. در یک فرایند شناخته شده به عنوان فقط در زمان تدوین ، کد کامپایل شده به دستورالعمل های ماشین که به نوبه خود، توسط پردازنده کامپیوتر اعدام تبدیل شده است. CLR ارائه دهنده خدمات از جمله مدیریت حافظه ، ایمنی نوع و پردازش استثنا است. کلیه برنامه های نوشته شده برای چارچوب داتنت ، بدون در نظر گرفتن زبان برنامه نویسی ، توسط CLR اجرا شده است. فراهم می کند پردازش استثنا ، جمع آوری زباله و مدیریت موضوع است. CLR شایع است همه نسخه از چارچوب داتنت.
CLR پیاده سازی مایکروسافت از زیرساخت های استاندارد زبان مشترک (CLI) است.

Galaxy1
دوشنبه 16 مرداد 1391, 15:52 عصر
90874
اين هم دياگرام ‍CLR

superwise
پنج شنبه 14 شهریور 1392, 00:41 صبح
سلام. من کد زیر را دارم از روی کتاب استاد هاشمیان مینویسم ولی ارور زیر را میده:
*The best overloaded method match for 'System.Windows.Forms.MessageBox.Show(System.Windo ws.Forms.IWin32Window, string)' has some invalid arguments


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Three_Buttons
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
//declare variable
double dblArea;

//calculate the area of circle with radius 100
dblArea = CalculateAreaFromRadius(100);

//print the results
MessageBox.Show(dblArea, "Area");
}

private void SayHello()
{
//display a message box
MessageBox.Show("Hello, World!", "Three Buttons");
}

private void button2_Click(object sender, EventArgs e)
{
//call your method
SayHello();
}

private void button3_Click(object sender, EventArgs e)
{
//call your method
SayHello();
}


//calculateAreaFromRadius - find the area of a circle
private double CalculateAreaFromRadius(double radius)
{
//declare variables
double dblRadiusSquared;
double dblResult;

//square the radius
dblRadiusSquared = radius * radius;

//multiply it by pi
dblResult = dblRadiusSquared * Math.PI;

//return the result
return dblResult;
}

}
}

لطفا کمک کنید.