لطفا چند لحظه صبر کنید ...    Please Wait ...
 
 
امروز : ﺳﻪشنبه 18 بهمن 1390
  • شهرداری پاکدشت
  • شهرداری مرکزی دزفول
  • شهرداری منطقه یک دزفول
  • شهرداری منطقه دو دزفول
  • شهرداری رودهن
  • شهرداری فشم
  • شهرداری رباط کریم
  • شهرداری گرمدره
  • شهرداری مشکین دشت
  • شهرداری محمدیه
  • شهرداری نسیم شهر
  • شهرداری مرکزی بندر عباس
  • شهرداری منطقه یک بندر عباس
  • شهرداری منطقه دو بندر عباس
  • شهرداری کوهسار
  • شهرداری تاکستان
  • شهرداری شال
  • شهرداری ورامین
  • شهرداری ساوه
  • شهرداری دلیجان
  • شهرداری نجف آباد
  • شهرداری سقز
  • شهرداری سلماس
  • شهرداری مهاباد
  • شهرداری لار
  • شهرداری قرچک
  • شهرداری گچساران
  • شهرداری سی سخت
  • شهرداری دهدشت
  • شهرداری یاسوج
  • شهرداری آبیک
  • سازمان پژوهش غلات
  • سازمان جهاد کشاورزی
  • دبیرستان نیکان
  • دانشگاه صنعتی قم
  • شرکت مترو ساز
  • شرکت تبلیغاتی آریا
  • گروه هنری کارینو
  • گروه تسهیلگران حرفه ای پیشرو
  • رستوران مسترویچ
نام کاربری :
 
رمز ورود :
 
ثبت نام / بازیابی رمز ورود
  • بر روی زمین چیزی بزرگتر از انسان نیست و درانسان چیزی بزرگتر از فكر او
  • چیزی ساده تر از بزرگی نیست آری ساده بودن همانا بزرگ بودن است
  • به نتیجه رسیدن امور مهم ، اغلب به انجام یافتن یا نیافتن امری به ظاهر كوچك بستگی دارد (چاردینی)
  • آنكه خود را به امور كوچك سرگرم می‌كند چه بسا كه توانای كاهای بزرگ را ندارد (لاروشفوكو)
  • اگر طالب زندگی سالم و بالندگی ‌رو می باشیم باید به حقیقت عشق بورزیم (اسكات پك)
  • زندگی بسیار مسحور كننده است فقط باید با عینك مناسبی به آن نگریست (دوما)
  • دوست داشتن انسان‌ها به معنای دوست داشتن خود به اندازه ی دیگری است (اسكات پك)
  • عشق یعنی اراده به توسعه خود با دیگری در جهت ارتقای رشد دومی (اسكات پك)
  • ما دیگران را فقط تا آن قسمت از جاده كه خود پیموده‌ایم می‌توانیم هدایت كنیم (اسكات پك)
  • جهان هر كس به اندازه ی وسعت فكر اوست (محمد حجازی)
  • تغییر دهندگان اثر گذار در جهان كسانی هستند كه بر خلاف جریان شنا می‌كنند (والترنیس)
  • اگر زیبایی را آواز سر دهی ، حتی در تنهایی بیابان ، گوش شنوا خواهی یافت (خلیل جبران)
  • روند رشد، پیچیده و پر زحمت است و در درازای عمر ادامه دارد (اسكات پك)
  • در جستجوی نور باش، نور را می‌یابی (آرنت)
  • برای آنكه كاری امكان‌پذیر گردد دیدگان دیگری لازم است، دیدگانی نو (یونك)
  • شب آنگاه زیباست كه نور را باور داشته باشیم (دوروستان)
  • هنر كلید فهم زندگی است (اسكار وایله)
.Net Frame Work
  تاریخ ارسال : 1389/03/29

چهارچوب .Net و ارتباط آن با C# :

.NET یک چهار چوب کلی است که محدود به یک زبان برنامه نویسی خاص نیست !

در واقع یک تکنولوژی برای سیستم های تجاری به حساب می آید.

.Net Frame Work شامل مجموعه ای از قوانین پایه ای و امکانات مختلف جهت توسعه سیستم می باشد.



اهداف به وجود آمدن .Net Frame Work :

1. سادگی طراحی (simple development)

2. سادگی انتشار (simple development)

3. DLL Hell

در قدیم DLLها داریی مشکلی بودند ، وقتی برنامه ای را با ورژن بالاتر نصب می کنیم، یک سری DLL ارتقا می یابند و برنامه هایی که با DLLهای قدیمی کار می کنند ، دیگر درست کار نمی کنند. این مشکل را با تکنولوژی GAC حل کردند.

4. Integration

5. Security





مزایای .Net Frame Work :

1. یکی از مهم ترین مزییت های .NET در این است که میتونیم در آن از زبان های برنامه نویسی مختلف استفاده کنیم. در واقع در یک پروژه میتوان از زبان های مختلف استفاده کرد.

برای مثال می توان گفت اگر بخواهیم پروژه ای را توسط چندین نفر بنویسیم که هر کدام از قسمتهای آن توسط یک نفر نوشته شده باشد، و هر شخصی به یکی از زبان ها تسلط داشته باشد (C# , Vb,…) این امکان وجود دارد که .NET تمامی قسمتها را به یک زبان واحد تبدیل می کند و دیگر نیاز نیست که تمامی افراد را به یک زبان مسلط کرد.

2 . از دیگر مزایای آن میتوان به کاربری راحت آن اشاره کرد.

برای مثال در تکنولوژی های قدیم (مانند C ) برنامه نویس می بایستی که فرم های بلا استفاده را Dispose می کرد تا بتواند از اشغال کردن حافظه توسط این فرم جلوگیری کند . اما در تکنولوژی .NET خود برنامه، حافظهء اشغال شده ای را که در دسترس فرم بوده پس میگیرد و دیگر نیازی به کنترل برنامه نویس ندارد.

برای مثالی دیگر میتوان به Run کردن برنامه ها اشاره کرد . در تکنولوژی های قدیم (مانند C ) بعد از نوشتن تعداد خطهای متعدد ، کاربر میتوانست خروجی برنامه را مشاهده کند، اما در اینجا کافیست کلید F5 را بزند و خروجی برنامه را مشاهده کند.

3. از بین بردن وابستگی بین زبان ها. اگر شخصی Source برنامه ای را داشته باشد ، نیازی به دانستن علمزبان برنامه نویسی Source آن را ندارد و به آسانی می تواند به زبان برنامه سازی قابل فهم خود تبدیل کند.

4. دارا بودن کلاس ها و توابع مورد نیاز . کلاس های مورد نیاز مانند کلاس Math با توابع ریاضی را دارد که دیگر نیازی به نوشتن توابع ریاضی نداریم.

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

توابع و کلاس ها که با استفاده از تکنیک های برنامه نویسی شی گرایی نوشته شده اند، در .NET به گروه ها و یا فضاهای نامهای مختلفی دسته بندی می شوند.

می توان گفت که این ویژگی باعث دسته بندی کلاس ها می شود و کاربری آسان را فراهم می کنند. که ما میتوانیم هر کدام از Name Space کلاس های خودش را که نیاز داریم ، با استفاده از Use کردن آنها به کار بریم.

Name Space های معروف :

System

System.IO

System.Data.Sqlclient

System.Windows.Frams

System.xml

System.web

6. قابلیت CTS . همان طور که می دانیم، نوع های داده ای برای نگهداری اطلاعات یک برنامه در طول اجرای آن مورد استفاده قرار می گیرد. قابلیت CTS باعث میشود که تمام انواع داده ای در تمامی زبان ها یکسان باشند . این قابلیت باعث می شود که بین زبان های برنامه نویسی هماهنگی بوجود آید. که به آن سیستم نوع داده ای عمومی ویا به اختصار CTS نامیده می شوند.





نکته: قابلیت CTS وName Space ها از اجزای تشکیل دهنده .NET می باشند .

7. مدیریت CLR . برنامه برای اجرا شدن ابتدا به کد MSIL تبدیل می شود ، سپس به وسیله JIT به کد محلی تبدیل می شود و کد محلی به وسیله سیستم عامل اجرا می شود(که در بخش بعدی تمامی این موارد شرح داده شده است). تمامی این قسمتها از وظایف CLR است . علاوه بر این برنامه ای که در حال اجراست به وسیله CLR مدیریت می شود، در واقع مسئولیت کنترل امنیت آنها مدیریت حافظه برنامه ها ، کنترل بخش های خطایابی در برنامه ها و... است.به همین دلیل به برنامه هایی که با .NET نوشته میشوند را برنامه های مدیریت شده می گویند.(در واقع CLR برنامه ای مدیریتی است که با وجود آن دیگر نیازی نیست که برنامه نویس مدیریت حافظه را کنترل نماید.)

یکی از ویژگی های کدهای مدیریت شده ، بخش مدیریت حافظه است که به وسیله سیستمی به نام Garbage Collection (GB) انجام می شود.که .NET به وسیله این سیستم می تواند اطمینان حاصل کند که حافظه ای که به یک برنامه اختصاص داده می شود، با پایان یافتن برنامه به طور کامل بازیابی می شود. که این موارد در زبانهای قبل از .NET به وسیله برنامه نویس کنترل می شد.

بررسی حافظه توسط GB در فاصله زمانی ثابت صورت نمی گیرد بلکه ممکن است در شرایطی در هر ثانیه چندین هزار بار اجرا شود و در شرایط دیگر در هر ثانیه.



برنامه های چارچوب .NET چگونه کامپایل می شوند ؟

برنامه ها برای اجرا شدن نیاز به کامپایل دارند . یک برنامه که به زبان C# نوشته شده باشد، قبل از اجرا باید به کد قابل فهم برای سیستم تبدیل شود . به این کد، کد محلی (Native Code) می گوییم.

تبدیل یک کد از هر زبانی به کد محلی را کامپایل کردن گوییم و عملی است که به وسیله یک کامپایلر انجام می شود و شامل دو مرحله اند :

MSIL :

زمانی که برنامه ای را که در آن از توابع موجود در کتابخانه کلاس .NET استفاده شده است را کامپایل می کنید، بلافاصله کد قابل فهم برای سیستم عامل و یا کد محلی تولید نمی شود. در عوض به زبان سطح میانی مایکروسافت (MSIL) تبدیل می شود.

JIT :

اما برای اجرای یک برناممه توسط سیستم عامل ، یک مرحله دیگر مورد نیاز است. این وظیفه کامپایلر JIT (Jost In Time) می باشد. این کامپایلر کد MSIL یک برنامه را دریافت میکند و آن را به کدی تبدیل می کند که به وسیله سیستم عامل قابل اجرا باشد.



در گذشته ، برای این که بتوان برنامه را بر روی سیستم عامل های مختلف اجرا کرد، نیاز داشتند که برای هر نسخه از سیستم عامل ، آن کد را یک مرتبه به طور کامل کامپایل کرد.اما در چارچوب .NET نیازی به این کار نیست. زیرا برای هر نوع پردازنده و سیستم عامل یک نسخه JIT وجود دارد.



اسمبلی ها :

هنگامی که یک برنامه را کامپایل میکنیم ، کد MSIL تولید شده در فایل هایی به نام اسمبلی ذخیره می شوند. فایل های اسمبلی فایل هایی هستند که بدون نیاز به برنامه دیگر بتوانند بر روی سیستم عامل اجرا شوند ( این فایل ها دارای پسوند .exe هستند) و یا شامل کتابخنه هایی از کلاس ها و توابع برای استفاده در دیگر برنامه می باشند ( این فایل ها دارای پسوند .dll هستند).

فایل های اسمبلی علاوه بر کدهای MSIL ، شامل اطلاعات متا(اطلاعاتی راجع به اطلاعات ذخیره شده در فایل اسمبلی) می باشند.

این امکان باعث می شود که اگر فایل برنامه را روی سیستمی دیگر ببریم ، برنامه اجرا شود (البته این جواب دان برنامه بر روی دیگر سیستم ها به این صورت است که برنامه .NET بر روی سیستم نصب باشد.)



چه برنامه هایی را می توان با استفاده از C# انجام داد ؟

1. برنامه های مبتنی بر ویندوز

2. برنامه های مبتنی بر وب

3. سرویس های وب





دسته بندی : محیط Consol Application : نام ارسال کننده : superadministrator    سمت : SuperAdmin
  نظرات
نوشتن برنامه C# در محیط Consol Application :
  تاریخ ارسال : 1389/03/29


برنامه های ویندوزی را می توان در محیط Windows application نوشت.

و اما برنامه هایی را که شکل ظاهری انها برای ما مهم نباشند و قرار است که خروجی های ساده را به ما نمایش دهند را در محیط Consol  مینویسیم تا حجم زیادی بابت شکل ظاهری فرم ها، در حافظه اشغال نکنیم. و این مورد را برای زمانی استفاده میکنیم که خروجی همیشه یک روند رو طی میکنه، مثلا استفاده از یک فرمول ریاضی ثابت.

در حالت Consol  هیچ نوع Object نداریم.

برای وارد شدن به این محیط، کافیست که از از منوی File منویNew   گزینه Project را انتخاب کرده و سپس در قسمت Project type ، گزینه C# واز زیر شاخه windows حالت Consol Application را انتخاب می کنیم.



دسته بندی : انواع داده ای در C# نام ارسال کننده : m.cheraee    سمت : SuperAdmin
  نظرات
نوشتن برنامه C# در محیط Consol Application :
  تاریخ ارسال : 1389/03/29

برنامه های ویندوزی را می توان در محیط Windows application نوشت.  اما برنامه هایی را که شکل ظاهری انها برای ما مهم نباشند و قرار است که خروجی های ساده را به ما نمایش دهند را در محیط Consol  مینویسیم تا حجم زیادی بابت شکل ظاهری فرم ها، در حافظه اشغال نکنیم. و این مورد را برای زمانی استفاده میکنیم که خروجی همیشه یک روند رو طی میکنه، مثلا استفاده از یک فرمول ریاضی ثابت.
در حالت Consol  هیچ نوع Object نداریم.
برای وارد شدن به این محیط، کافیست که از از منوی File منویNew   گزینه Project را انتخاب کرده و سپس در قسمت Project type ، گزینه C# واز زیر شاخه windows حالت Consol Application را انتخاب می کنیم.

پروژه های نوع consol دارای یک تابع اصلی با نام Main می باشند که تمامی کدها را داخل این تابع می نویسیم :
static void Main(string[] args)
 


دسته بندی : محیط Consol Application : نام ارسال کننده : m.cheraee    سمت : SuperAdmin
  نظرات
طریقه برنامه نویسی در Consol Application
  تاریخ ارسال : 1389/03/29

برنامه نویسی Consol Application در   را با نوشتن پروژه آموزش می دهیم :
میخواهیم پروژه ای بنویسیم که 2 عدد از ورودی دریافت کند و عدد بزرگتر را چاپ نماید :
 
static void Main(string[] args)
        {
            Console.WriteLine("plz enter the firest num:");
 
            int firstNum = int.Parse(Console.ReadLine());
 
            Console.WriteLine("plz enter the second num:");
 
            int secondNum = int.Parse(Console.ReadLine());
 
            int bigNum = 0;
 
            if (firstNum > secondNum)
            {
                bigNum = firstNum;
 
                Console.Write("firstNum are the big number : " );
 
                Console.WriteLine(bigNum);
 
             }
            else if (secondNum > firstNum)
            {
                bigNum = secondNum;
 
                Console.Write("socondNum are the big number");
 
                Console.WriteLine(bigNum);
            }
 
 
            else
 
                Console.WriteLine("The Numbers Are Equal");                       
      
            Console.ReadLine();
        }
 
 
 
این برنامه برای اعداد ورودی عددی به درستی کار میکند. اما اگر ورودی را از نوع کاراکتر حرفی وارد نماییم، با خطای ورود اطلاعات مواجه میشویم. بنابراین باید پس از دریافت اطلاعات، بررسی شود که ایا مقدار ورودی را به صورت رشته ای وارد نموده و یا ازنوع عددی. با استفاده از تابع int.TryParseمی تونیم بررسی کنیم که آیا مقدار ورودی را صحیح وارد کرده است و یا خیر. خروجی این تابع از نوع boolian می باشد.
 
طریقه کاربرد این تابع به صورت زیر می باشد:
if (!int.TryParse(Console.ReadLine(), out firstNum))
 
این تابع به این صورت عمل می کند که پس از دریافت ورودی از طریقConsole.ReadLine()، مقدار وارد شده را داخل متغییر Out می ریزد (یعنی firstNum) سپس توسط تابع بررسی میکند که آیا مقدار واردشده از ورودی پس از اعمال تبدیل نوع رشته ای به نوع عددی ، مقدار وارد شده صحیح می باشد و یا خیر .
کارکتر ! به معنای not می باشد. که اگر پس از تبدیلات ، مقدار تابع TryParse،False بود ، آن را به true  تبدیل کند تا شرط دستور If صحیح شود.
        
        static void Main(string[] args)
        {
            Console.WriteLine("plz enter the firest num:");
 
            int firstNum = 0;
 
            if (!int.TryParse(Console.ReadLine(), out firstNum))
            {
                Console.WriteLine("plz just enter numbers");
 
                Console.ReadLine();
 
                return;
            }
 
            Console.WriteLine("plz enter the second num:");
 
            int secondNum = 0;
 
            if (!int.TryParse(Console.ReadLine(), out secondNum))
            {
                Console.WriteLine("plz just enter numbers");
 
                Console.ReadLine();
 
                return;
            }
            int bigNum = 0;
 
            if (firstNum > secondNum)
            {
                bigNum = firstNum;
 
               Console.WriteLine("firstNum is the big number");
            }
            else if (secondNum > firstNum)
            {
                bigNum = secondNum;
 
                Console.WriteLine("socondNum is the big number");
            }
 
 
            else
 
                Console.WriteLine("The Numbers Are Equal");
 
            Console.ReadLine();
        }
      }
 
 
 
همانطور که قبلا هم گفته ایم ، یکی از ویژگی های .NET امکان استفاده از کلاس و فضای Name Space می باشد. حال می خواهیم برای خوانایی برنامه  و برای کدهای تکراری از این فضا استفاده نماییم.
 
بر روی نام پروژه خود در پنجره Solution Explorer و با راست کلیک کردن، گزینه Add Class را انتخاب نمایید.
 
 
برای این که بتوانیم توابع این Name Space در همه پروژه های Solution قابل استفاده باشد، به تابع سطح دسترسی Public  میدهیم و برای این که از نام توابع کلاس ها بدون بکار بردن نام Name Space استفاده کنیم از Static استفاده میکنیم.
 
کلاس این Solution  را به صورت زیر می نویسیم :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
 
   public static class String_Class
    {
 
       //extention method: framework اضافه کردن متد به متدهای
       public static int ToInt32(this string s)
        {
            int num = 0;
 
            int.TryParse(s, out num);
 
            return num;
        }
        public static bool IsInt32(this string s)
        {
            int num = 0;
 
            return int.TryParse(s, out num);
        }
      }
   }
 
 
 
و کد برنامه را به صورت زیر وارد مینماییم :
 
static void Main(string[] args)
        {
            Console.WriteLine("plz enter the firest num:");
 
            string firstNum = Console.ReadLine();
 
            Console.WriteLine("plz enter the second num:");
 
            string secondNum = Console.ReadLine();
 
            if (!firstNum.IsInt32() || !secondNum.IsInt32())
            {
                Console.WriteLine("error");
 
                Console.ReadLine();
 
                return;
            }
 
            int first = firstNum.ToInt32();
 
            int second = secondNum.ToInt32();
 
            Console.WriteLine(Math.Max(first, second));
 
            Console.ReadLine();
        }
 
    }


دسته بندی : انواع داده ای در C# نام ارسال کننده : m.cheraee    سمت : SuperAdmin
  نظرات