مهدی عزیزی

۲۹ مطلب با موضوع «C#» ثبت شده است

زبانهای اسکریپتی در دات نت

روبی (Ruby)  و پایتون (Python) زبانهای اسکریپتی معروف هستند. منظور از اسکریپت  (Script) کدهایی است که با این زبان ها نوشته می شود و کامپایل نمی شود بلکه تفسیر می شود و هر زمانی که درخواستی برای اجرا شدن آنها صادرمی شود، یک مفسر کد را تفسیر و آن را اجرا می کند. این زبان ها با این نوع اجرا، بهتر از بقیه زبان هایی که کامپایل می شوند، بهتر هستند در بحث ما نمی گنجد، اما خطایابی (Debug) این که کد هایی نوشته شده با  این زبان ها به مراتب سخت تر از زبا نهای دیگر است.

بیایید زبانی را تصور کنیم که با گرامر(Syntax) پایتون نوشته شود و از امکانات دات نت استفاده کرده و در محیط ویندوزی کامپایل شود. این تصور دور از ذهن نیست ، زیرا مایکروسافت، دات نت و  C# خود را  روز به روز بهتر کرد تا امکاناتی فراهم کند و برنامه نویسانی که به زبانهای دیگر برنامه نویسی می کنند بتوانند براحتی از کد هایی که قبلا نوشته اند، در محیط ویندوز استفاده کنند.

مایکروسافت در C#4 و همین طور .net4 یک ویژگی به نام

ادامه مطلب...
۲۳ ارديبهشت ۹۲ ، ۱۲:۴۹ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

دانلود آموزش ساختمان داده ها در C#

با کلیک بروی لینک زیر می توانید اسلاید های ساختمان داده ها در C# را دانلود کنید.

دانلود آموزش ساختمان داده ها در C#

۰۶ ارديبهشت ۹۲ ، ۱۲:۳۲ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

دانلود آموزش پردازش تصویر در C#

دوستانی که به پردازش تصویر در c# علاقه دارند، با کلیک بروی لینک زیر می توانید این کتاب رو دانلود کنید. با تشکر...

دانلود آموزش پردازش تصویر  در C#

۰۶ ارديبهشت ۹۲ ، ۱۲:۱۷ ۱ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

دانلود کتاب A Programmer’s Guide to C# 5.0

کتاب سی شارپ 5 - بعد از معرفی سی شارپ نسخه ۵ ، بلافاصله کتابهایی در این زمینه منتشر شدند که از این کتابها "راهنمای برنامه نویسان سی شارپ ۵٫۰ " چاپ چهارم است که با هدف کمک به توسعه دهندگان نرم افزاری که می خواهند مهارتهای خود را با استفاده از زبان سی شارپ توسعه دهند منتشر شده است. این کتاب بدون نیاز به اطلاعات قبلی درباره دات نت شما را در توسعه نرم افزارهای خود کمک کرده و تمام جنبه های ارائه شده رو توضیح می دهد.

آنچه که شما در این کتاب یاد خواهید گرفت:

·         استفاده از ویژگی های تاثیر گذار سی شارپ

·          استفاده از جدیدترین ویژگیهای سی شارپ ۵٫۰ در مشکلات کدنویسی

·         ساده سازی کد پایگاه داده با  LINQ

·          استفاده از ویژگی Async و کتابخانه وظایف موازی جهت بهبود عملکرد برنامه

لینک دانلود


۱۰ فروردين ۹۲ ، ۲۱:۴۰ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

پردازش موازی در دات‌نت

در برنامه‌نویسی همروند شما چند Task را که هیچ رابطه‌ای بین آنها نیست در یک محیط همروند اجرا می‌کنید. این موضوع مشکلات خود را دارد، Task‌ها از منابع مشترک استفاده می‌کند و این منابع را بین خود به اشتراک

می‌گذارند. این امر مشکل منابع اشتراکی را به وجود می‌آورد، در واقع Task‌های شما به صورت Thread‌هایی است که از منابع مشترک استفاده می‌کند و این Thread‌ها مشکل deadlock و data race را به وجود می‌آورد.

اما در برنامه‌نویسی موازی یک Task به تعدادی Task‌ مرتب به هم تقسیم و در همان محیط همروند اجرا می‌شود. شاید فکر کنیم زمانی که این وظایف در ارتباط با هم هستند بعضی از مشکلات موجود در حالت همروند

به قوت خود باقی بماند؛ اما شما چند وظیفه مرتبط به هم ایجاد کرده‌اید و مشکلی مانند deadlock هنوز به وقت خود باقی است. مساله مهم‌تر این است که خطایابی این سیستم نسبت به حالت قبلی پیچیده و سخت‌تر

است و همین طور ارتباط بین این وظایف و انتقال اطلاعات بین آنها. اما نگران نباشید اینجاست که Parallel Fx به کمک شما می‌آید و مشکلات شما را حل می‌کند.

در Parallel Fx کلاس Task جای Thread را گرفته و امکان اجرای موازی کارها را به شما می‌دهد و شما می‌توانید کار خود را به مراتب سریع‌تر از چند نخی و حتی برنامه‌نویسی غیرهمزمان انجام دهید،

حال بگذارید چند مثال در این مورد بنویسیم تا با این کتابخانه و کار با آن آشنا شویم

ادامه مطلب...
۱۵ بهمن ۹۱ ، ۱۰:۱۵ ۱ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

ویژگی‌های دات نت 4.5

با عرضه نسخه نهایی ویژوال استودیو 2012 و همین‌طور دات نت نسخه 5‌/‌4، مایکروسافت نسخه 4 از کتابخانه معروف ASP.NET MVC را ارائه کرد. این کتابخانه را ـ که روز به روز با سرعت بیشتری نسبت به هسته اصلی ASP.NET در حال رشد است ـ می‌توان آینده مایکروسافت برای توسعه‌دهند‌گان وب دانست. خیلی از برنامه‌نویسان و توسعه‌دهند‌گان نرم‌افزارهای تحت وب، این کتابخانه را جایگزین ASP.NET کرده‌اند و وب‌سایت‌های خود را روی این کتابخانه پیاده کرده‌اند. یکی از بزرگ‌ترین وب‌سایت‌هایی که با این کتابخانه توسعه داده شده وب‌سایت stackoverflow.com است. اما هر محصول جدید قطعا مزایایی نسبت به نسخه‌های قبلی خود دارد. در ادامه قصد داریم این مزیت‌ها را نسبت به نسخه‌های قبلی بررسی کرده و با آنها بیشتر آشنا شویم.

ادامه مطلب...
۱۴ آذر ۹۱ ، ۲۱:۴۸ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

توابع API

API  مخفف Application Programming Interface می‌باشد که به معنای رابط برنامه‌سازی کاربردی است. نام API به توابعی اطلاق می‌شود که در فایلهای مختلف ویندوز مانند Advapi32.dll ، User32dll ، Ole32.dll ، Kernel32.dll ، Winmm.dll ، Winspool.drr ، Gdi32.dll ، Mpr.dll ، Netapi32.dll ، Sheu32.dll ، Rasapi32.dll ، Version.dll ، Wsock32.dll ، Comdlg32.dll، وجود دارند.
ویندوز برای صدها کار مختلف خود از این تابع‌ها استفاده می‌کند و برنامه‌های کاربردی نیز به طور متعدد از این توابع استفاده می‌کنند. به عنوان مثال در زبان برنامه‌نویسی ویژوال بیسیک هر خط کد را که تایپ می‌‌کنید و بعد برنامه را
Run می‌کنید، توسط توابع API کنترل می‌شوند. هنگامی که دستور Form1.Print را برای نمایش یک پیغام بر روی فرم صادر می‌کند، در واقع ویژوال بیسیک در پشت صحنه از تابع API، Textout  جهت نمایش این پیغام استفاده می‌کند و یا هنگامی که از توابع رسم بیضی استفاده می‌کنید، درحقیقت از تابع API، Elliptic  استفاده می‌شود.
و همچنین توابع دیگر، حرکت ماوس، صفحه کلید، رنگها، دکمه‌ها، منوها و صدها عملیات دیگر
.
دلایل استفاده از توابع
API در زبانهای مختلف برنامه‌نویسی می‌تواند این باشد که:

1- توابع API به دلیل آنکه در فایلهای dll هر سیستم عامل ویندوز می‌باشد و در هر مکان مانند یکدیگر می‌باشند پس نیازی به ارائه آن فایل dll در نسخه برنامه نمی‌باشد و درنتیجه حجم نسخه کم می‌شود و درضمن سندیت برنامه نیز بیشتر می‌شود و می‌توان گفت که شما از منابع ویندوز به نحو احسن استفاده کرده‌اید.
2- نسخه‌های ویندوز به طور مداوم تغییر می کند ولی به دلیل آنکه سازندگان همیشه حالتی را در نظر می‌‌گیرند که نسخه‌های قبلی را نیز پشتیبانی کند. درنتیجه اگر شما برنامه‌ای را به کمک توابع
API بنویسید با تغییر نسخه ویندوز نیازی به تغییر جدی در توابع API نمی‌باشد.
3- بیشتر زبانهای برنامه‌نویسی (به‌خصوص زبانهای تحت ویندوز که خود به صورت پنهان از توابع
API استفاده می‌کنند، ممکن است به علت محدودیتهایی نتوانند تمام امکانات توابع را در اختیار قرا دهند. شما با دسترسی مستقیم به توابع می‌توانید از حداکثر قابلیتهای تابع استفاده کنید.
4- در بعضی از زبانهای برنامه‌نویسی برای آنکه بتوان یک حالت را بوجود آورد و یا کار مشخصی را انجام داد، باید کدهای زیادی بنویسیم و یا در زمان خطاگیری مدت زیادی را صرف کنیم و به طور حتم کاربر استفاده‌کننده از برنامه شما نیز باید زمان بیشتری را برای گرفتن جواب صرف کند. این موارد ذکر شده هر کدام به نوبه خود می‌توانند از محبوبیت، قدرتمند و خوانابودن برنامه بکاهند. ولی توابع
API به دلیل آنکه روتین شده و از قبل نوشته شده می‌باشند پس فقط کافیست تابع را فراخوانی کنیم و به آن ورودی دهیم و خروجی مورد نظر خود را دریافت کنیم.
5- همانطور که در توابع این کتاب نیز خواهید دید، بیشتر توابع کارهایی را انجام می‌دهند که زبانهای برنامه‌نویسی قادر به انجام آن نمی‌باشند. به عنوان مثال به تابع
SetlateradwindowAttributes مراجعه کنید که باعث می‌‌شود یک پنجره (فرم و یا کنترلهای داخل آن) و با یک رنگ مشخص در آنها به مقدار دلخواه به حالت شفاف و Transparent تبدیل شوند. و یا توابع دیگر مانند StretchBlt , TransparentBlt , LokworkStation , TimGetTim , SHShutDownDialog و ...

۲۱ آبان ۹۱ ، ۱۸:۳۸ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی

آموزش برنامه نویسی سوکت با C#

دوستانی که به آموزش برنامه نویسی سوکت با C# علاقه دارند می توانند یک فایل آموزشی در این رابطه را از لینک زیر دانلود کنند.

دانلود فایل آموزش برنامه نویسی سوکت با C#

۱۸ مهر ۹۱ ، ۱۲:۳۹ ۱ نظر موافقین ۱ مخالفین ۰
مهدی عزیزی

سطح دسترسی

سطوح دسترسی از این قراره:

private:
کمترین سطح دسترسی که فقط اعضای کلاس میتونن بهش دسترسی داشته باشند.
internal:
به دسترسی ای گفته میشه که فقط اعضای یک پروژه (اسمبل) به آن داشته باشند.
protected:
این دسترسی برای اعضایی امکان پذیر هست که از ولد ارث بری می کنند. (چه در پروژه جاری و چه در سایر پروژه ها).
protected internal:
همانند دسترسی فوق می باشد با این توجه که فقط اعضای مشتق شده پروژه جاری بدان دسترسی دارند.
public:
بیشترین سطح دسترسی می باشد یعنی همه اعضا از هر پروژه ای بدان دسترسی دارند.

۱۰ مهر ۹۱ ، ۲۰:۵۹ ۰ نظر موافقین ۰ مخالفین ۰
مهدی عزیزی