متد جدید Chunk در دات نت 6
متد جدید ()Chunk در دات نت 6، به مجموعه‌ی LINQ اضافه شده‌است. این متد امکانی را فراهم میکند که بتوان مجموعه‌ای را به گروه‌های کوچکتر، تقسیم کنیم . وضعیت فعلی پیاده سازی این قابلیت در نسخه‌های قبلی دات نت، چنین قابلیتی برای تقسیم یک مجموعه، به مجموعه‌های کوچکتر بصورت توکار وجود ندارد. مجموعه‌ی زیر را در نظر بگیرید: int[] numbers = new int[] {6, 5, 1, 9, 18, 5, 3, 21}; این عملیات تقس ...
بررسی تفاوت بین DTO و POCO
در ابتدا اجازه بدهید تعریف درستی از این دو واژه، ارائه کنیم. DTO (Data Transfer Object) به بیان خیلی ساده، DTO‌ها برای انتقال اطلاعات استفاده می‌شوند؛ پس هیچ منطق و رفتاری در این اشیاء تعریف نمی‌شود .اگر در DTO منطقی پیاده سازی شود، دیگر به آن DTO گفته نمی‌شود. اجازه بدید منظورمان را از منطق یا رفتار مشخص کنیم. منطق یا رفتار، همان متدهایی هستند که در نوع داده خود تعریف میکنیم. در #C، یک DTO تنها از خصوصیت‌ها (Properties) ...
بررسی تفاوت کلید اصلی و کلید یکتا
کلید اصلی ( Primary Key ): به‌منظور تشخیص هر رکورد در یک جدول بانک اطلاعاتی از کلید اصلی استفاده می‌کنیم. هر جدول بانک اطلاعاتی باید یک کلید اصلی داشته باشد. برای تعریف کلید اصلی در هر جدول از کلمه‌ی کلیدی Primary Key بعد از نام ستون استفاده می‌کنیم. کلید یکتا ( Unique Key ): ستون با محدودیت (constraint) کلید یکتا تنها می‌تواند دربرگیرنده ارزش‌هایی یکتا باشد. برای تعریف یک ستون بصورت یکتا (unique) بعد از نام ستون ...
مقایسه و بررسی پوشه‌های Bin و Obj در برنامه‌های NET.
زمانیکه شما یک برنامه‌ی دات نتی نوشته شده به زبان سی شارپ را کامپایل می‌کنید، دو پوشه‌ی bin و obj را مشاهده می‌کنید. در این مطلب، اهمیت و تفاوت این دو پوشه را بررسی می‌کنیم. این پوشه‌ها حاوی کد‌های کامپایل شده‌ی IL می‌باشند. فرآیند کامپایل به دو مرحله‌ی کامپایل سورس کد و همچنین ایجاد پیوند (linking) بین فایل‌های کامپایل شده تقسیم می‌شود. به دیاگرام زیر دقت نمائید: • در مرحله‌ی کامپایل، هر یک از سورس فایل‌ها، بصورت مجزا ک ...
اسمبلی‌های دوست (Friend Assembly)
تعریف اصلاح کننده دسترسی داخلی (Internal Access Modifier) این اصلاح کننده دسترسی باعث می‌شود عناصر یک اسمبلی تنها در سطح همان اسمبلی قابل دسترسی باشند. فرض کنید یک class library ای به نام MyLib با کلاس‌های Class1 و Class2 داریم. کلیه کلاس‌هایی که بصورت Internal تعریف شده‌اند، تنها می‌توانند توسط کلاس‌هایی که در MyLib هستند مورد استفاده قرار بگیرند. اگر در پروژه‌ای دیگر به کتابخانه‌ی MyLib ارجاعی بدهیم، کلیه کلاس‌های Internal آن ...
بررسی کلمات کلیدی Const و ReadOnly در سی شارپ
تعریف: Constant فیلدی است که مقدار آن در زمان کامپایل (Compile time) مشخص می‌شود و این مقدار هیچگاه نمی‌تواند تغییر کند ( ثابت است ). از کلمه کلیدی (Keyword) ، const برای تعریف یک constant استفاده می‌شود. تعاریف اولیه : Constan ...
تولید اعداد تصادفی (Random Numbers) در #C
کلاس Random در NET. ابزارهایی را فراهم می‌کند که بتوانیم توسط آن‌ها اعداد تصادفی تولید کنیم. سازنده این کلاس دو Overload مختلف دارد. یکی از Overload‌ها بدون پارامتر است و دیگری مقداری را بعنوان Seed دریافت می‌کند. کلاس Random سه متد عمومی دارد: • Next : یک عدد تصادفی را برای ما تولید می‌کند. • NextByte : آرایه‌ای از بایت‌ها را که با اعداد ...
بررسی چند نکته در مورد ارث بری کلاس‌ها در #C
مقدمه وراثت، بین کلاس‌های والد (Parent) و فرزند (Child) ارتباط ایجاد می‌کند. در این مطلب، با یک مثال ساده، نکات مختلفی را بررسی خواهیم کرد. در ابتدا کلاس‌هایی را با نام parent و child، به شکل زیر ایجاد می‌کنیم: public class Parent { public Parent() { Console.WriteLine("Parent Constructor"); } public void Print() { Console.WriteLine("Parent Print"); } } ...
مسیریابی (Routing) در ASP.NET MVC 5.x
در برنامه‌های ASP.NET Web Forms، هر درخواست (URL)، به یک فایل با پسوند aspx منطبق می‌شود. بطور مثال آدرس http://domain/studentsinfo.aspx بایستی با یک فایل فیزیکی به نام studentsinfo.aspx مطابقت داشته باشد. این فایل حاوی code و markup برای پاسخگویی به درخواست ارسالی و نمایش اطلاعات در مرورگر می‌باشد. ...
آموزش Linq - بخش ششم: عملگرهای پرس و جو قسمت پنجم (پایانی)
عملگرهای اتصال (Join Operators) • Join • GroupJoin • Zip عملگر Join این عملگر همانند inner join در SQL، دو مجموعه را بر اساس کلید‌های مرتبط که از طریق پارامترها به آن ارسال می‌شوند، با یکدیگر ترکیب می‌کند. در عملیات Join، یک توالی ورودی که به آن توالی خارجی (Outer Sequence) گفته می‌شود با یک توالی دیگر که به آن توالی داخلی (Inner Sequence) می‌گوییم، بر اساس کلید‌های م ...