سی شارپ دارای یک سامانه نوع یکپارچهاست که به آن CTS میگویند. این بدان معناست که تمام انواع، شامل موارد اصلی مانند Integerها، مشتق شده از System.Object هستند. به عنوان مثال، هر نوع یک متد به نام ToString() را به ارث میبرد. بخاطر کارایی، انواع اولیه (و انواع مقداری) بهطور داخلی فضایی برای آنها بر روی پشته در نظر گرفته میشود
انواع داده
CTS دادهها را به دو نوع تقسیم میکند:
نوع مقداری (Value Type)
نوع مرجعی (Refrence Type)
انواع دادهای توده سادهای از داده میباشند. نمونههای انواع دادهای نه هویت مرجعی دارند و نه مفاهیم مقایسه مراجع را. برای مقایسه برابری یا عدم برابری انواع دادهای، خود مقدار دادهها را با یکدیگر مقایسه میکنیم مگر اینکه عملگرهای مشابه دوباره تعریف شده باشند. مقادیر دادههای مرجعی همیشه یک مقدار پیشفرض دارند و همیشه میتوانند ایجاد یا کپی شوند. یکی دیگر از محدودیتهای انواع دادهای این ات که آنها نمیتوانند از یکدیگر مشتق شوند (ولی میتوانند اشتراکاتی داشته باشند) و هم چنین نمیتوانند در سازنده مقدار دهی اولیه شوند. مثالی از انواع دادهای، بعضی از انواع اولیه مانند int و float و char و System.DateTime میباشند. در مقابل، انواع مرجعی مفهوم تعریف مرجعی را دارند (که در آن هر نمونه از نوع مرجع، بهطور ذاتی از دیگر نمونهها جدا میشود، حتی اگر داده هر دو نمونه یکی باشد). این دقیقاً نمونه مشابه مقایسه تساوی یا عدم تساوی دادههای مرجعی است، که در آن آزمایش برای مرجعها از دادهایها سریع تر است. در کل نه همیشه امکان تعریف نمونه مرجعی وجود دارد و نه امکان کپی یا نمایش مقادیر مقایسه دو نمونه؛ ولی به هر حال انواع مرجعی خاص میتوانند این اعمال را از طریق سازندههای عمومی یا اجرای واسطهای مشابه (مثل ICloneable یا IComparable) انجام دهند. نمونههایی از انواع مرجعی، اشیاء، System.String و Sysmet.Array میباشند. هر دو نوع داده قابلیت انعطاف توسط تعریف به وسیله کاربر را دارند. در واقع وقتی ما نوع دادهای را به تابع ای ارسال میکنیم، آدرس داده نیز فرستاده میشود. البته این امر پیشفرض است ولی برای دادههای مثل آرایه، رشتهای، آدرس فرستاده میشود و ارسال از نوع مرجع میشود
وراثت یا ارث بری (Inheritance) از مفاهیم اساسی برنامهنویسی شیءگراست. هر شیء یک نمونه از یک کلاس است و هر کلاس میتواند از کلاس یا کلاسهای دیگری مشتق شده باشد (خواص متدها یا رویدادهای کلاسهای دیگر را به ارث ببرد). در یک مثال ساده میتوان اتومبیلی را در نظر گرفت که برای جلوگیری از بازنویسی خواص عمومی اتومبیل شامل: چهار چرخ، متدهای حرکت چرخ، متد چرخاندن فرمان، فرمان، بدنه، در و غیره، میتوان یک کلاس پایه از اتومبیل ایجاد کرد سپس مثلاً برای اتومبیل سیتروئن مدل C۵ یک کلاس جدید ایجاد کرده که خواص، متدها و رویدادهای عمومی اتومبیل را داشته باشد و فقط برای خواص، متدها و رویدادهای جدید این اتومبیل کد نوشته شود. این ویژگی باعث صرفهجویی در نوشتن کد و تا حدودی تضمین صحت کد موجود میشود. به عنوان مثال اگر کلاس پایه مشکلی داشته باشد فقط کافی است کلاس پایه تغییر داده شود و در تمامی کلاسهایی که از این کلاس پایه ویژگیای ا به ارث بردهاند این تغییر اعمال خواهد شد
رشته ها
در C یا ++C ساختار رشته به صورت ارایهای از نوع char بود که امکان اضافه کردن به رشته را محدود میکرد به دلیل ثابت بودن طول در آغاز تعریف ولی در سی شارپ دو نوع متفاوت رشته وجود دارد؛ که یکی به صورت آرایهای با طول ثابت ۲۵۶(در عمل ۲۵۵)موجوداست (به صورت پیش فرض) و در صورتی که با کمبود جا روبرو شود فضای جدید (بزرگتر) یافته و به ان انتقال میدهد؛ ولی در نوع دوم رشتهها از لیست پیوندی استفاده میشود.
***لیست پیوندی***
یست پیوندی (به انگلیسی: Linked list) ساختاری شامل دنبالهای از عناصر است که هر عنصر دارای اشارهگری به عنصر بعدی در دنباله است. فهرست پیوندی از جملهٔ سادهترین و رایجترین دادهساختارها است و در پیادهسازی از دادهساختارها پشته (Stack)، صف (Queue) و جدول درهمسازی (Hash table) استفاده میشود. مزیت مهم فهرست پیوندی نسبت به آرایهها این است که ترتیب قرار گرفتن دادهها در آن با ترتیب قرار گرفتن آنها در حافظه متفاوت است. به همین دلیل فهرست پیوندی دارای این ویژگی است که درج و حذف گرهها در هر نقطهای از فهرست، با تعداد ثابتی از عملیات امکانپذیر است. از طرف دیگر فهرست پیوندی اجازه دستیابی تصادفی به داده یا هرگونه اندیسگذاری را نمیدهد. در نتیجه بسیاری از اعمال ابتدایی نظیر به دست آوردن آخرین عنصر فهرست، پیدا کردن عنصر شامل داده مورد نظر، یا مشخص کردن مکان درج یک عنصر جدید ممکن است نیازمند بررسی اکثر عناصر فهرست باشد.
بحث های بسیار طولانی در انجمن ها و فروم سایتهای برنامه نویسی در خصوص برتری یکی از زبانهای برنامه نویسی مطرح شده که فقط یک پاسخ بسیار صریح و روشن دارد
هرکس فکر میکنه زبان برنامه نویسی x نسبت به سایر زبانهای برنامه نویسی برتری داره باید ایتدا به این سوال پاسخ بده:
ایا میتوان گفت شغل مهندسی برق بهتره یا پزشکی؟
یعنی هرکدام دارای مزیت خود هستند اگر شما در زبان بیسیک استاد شوید مطمئن باشید برنامه هایی خواهید ساخت که قابلیت انجام هر کاری را دارند –پس مقایسه چیزی جز تلفت کردن زمان نیست در اینجا فقط به معرفی زبان دات نتی –سی شارپ میپردازم
سی شارپ یک زبان برنامه نویسی همگردان، سطح بالا، شیءگرا، ساخت یافته، رویداد محور، تابعی، دستوری و جنریک است که توسط شرکت مایکروسافت در سال 2000 میلادی از خانواده- زبانهای چارچوب داتنت معرفی شد. زبان سی شارپ همچنین از خانواده زبانهای برنامهنویسی سی نیز استبرنامه مترجم انلاین http://s8.picofile.com/file/8320842834/OnlineDic.rar.html
دیتابیس تکست درارای 14.000 کلمه http://s9.picofile.com/file/8320897434/words.txt.html
اینم سورس دیکشنری افلاین بادیتابیس Sqlite دانــــــــــــــــــــــلود
پایتون زبانی پویا و عمومی است که باهدف خوانایی بالای نوشتهها برنامهریزیشده است تا برنامه نویسان با خطوط کمتر کدنویسی کنند. (در مقایسه با Java و C ++) پایتون از پارادایمهای برنامهنویسی متعددی پشتیبانی میکند و کتابخانه استاندارد بزرگی دارد.
برنامه نویسان زبان پایتون را به خاطر syntax واضح (سینتکس: نحوه نوشتن و قرارگیری کلمات و عبارات بهصورت صحیح)، پشتیبانی خوب از OPP و راههای میانبر خوب، استفاده میکنند.