کانال توسعه دهندگان سی شارپ
155 subscribers
32 photos
5 videos
6 files
87 links
اینجا از تجربیاتم توی برنامه نویسی می نویسم🙌
یک عدد دات نت کار
گیت هاب من:
https://github.com/hassanrafatjoo
Download Telegram
زمانی که ما از برنامه خودمون خروجی میگیریم چه در حالت دیباگ و چه در حالت ریلیز هر دو حاوی فایل هایی هستند که پسوند PDB دارن حالا باید بدونیم PDB چیه؟

در واقع pdb یا Program Database اطلاعات مربوط به اشکال زدایی(Debug) در اون قرار میگیره. زمانی که کد کامپایل میشه این فایل هم ایجاد میشه

در حالت Debug ممکنه تعداد فایل های pdb بیشتر باشه به دلیل این که توسعه دهنده یا برنامه نویس هنوز برنامه خودشو انتشار نداده و در این حالت میتونه راحت تر کدها رو بررسی کنه ولی در Release میتونه تعداد این فایل ها کمتر باشه یا کلا اصلا نباشه

این موضوع به جز ویندوز فرم در وب و کلا هر چیزی که با سی شارپ باشه هم صدق میکنه

اما یکم بخوایم بیشتر ریز بشیم چه چیزایی دقیقا میتونه در اون ذخیره بشه؟

-نام متغیرها

-نام کلاس ها و متد ها

-مقدارهای ثابت(Constant)

و خیلی چیزهای دیگه که از این ها به عنوان مثال استفاده کردم
کاربرد Any CPU چیه؟

ممکنه ما در ویژوال استودیو باشیم و در حال تولید یک برنامه مثلا ویندوزی باشیم و این رو دیده باشیم

شما میتونید مشخص کنید برنامه شما روی ویندوزهایی با معماری X86( که به 32 بیت) معروف هست اجرا بشه یا این که در معماری X64(یا همون 64بیت)

زمانی که روی Any CPU باشه یعنی روی هر دو معماری ویندوز قابلیت استفاده رو داشته باشه
تفاوت بین Build و Rebuild چیه؟ زمانی که شما در ویژوال استودیو کار میکنید و وارد بخش Build میشید گزینه های متفاوتی رو می بینید که اولین گزینه build هست و بعدی Rebuild

کار Build اینه آخرین تغییری که شما انجام دادید رو کامپایل میکنه

دو تا مزیت داره:

-سریع تر هست چون فقط جایی رو که شما میخواید کامپایل کنید اوکی میشه و نیازی نیست کل پروژه رو از دوباره کامپایل کنید

-به صورت مکرر( تکراری) میشه ازش استفاده کرد برای جاهایی که ما تغییرات کوچیکی رو دادیم در پروژ]

زمان استفاده ازش:

زمانی که فقط سریع میخواید قسمتی رو که تغییر دادید ببینید

زمانی که نیاز ندارید کل پروژه رو دوباره کامپایل کنید

و اما Reubild :

فرض کنید شما در یه سولوشن اومدید تغییراتی در نسخه دات نت ایجاد کردید و میخواید همه بخش ها دیگه باهاش سازگار باشن در این حالت نیازی نیست بخواید دونه دونه و تک تک بخواید پروژه هایی که در سولوشن هست رو کامپایل کنید
یک بار انجام میدید و همه جاهای اون تغییر میکنه

مزیت هاش:

مشکلات عدم هماهنگی نسخه ها رو برطرف میکنه

مطمئن میشیم که همه پروژه ها به درستی کامپایل شدن

زمان های استفاده ازش رو هم که در حین توضیح دادن Rebuild گفتم
کانال توسعه دهندگان سی شارپ
https://obsidian.md/download
نرم افزاری مخصوص یادداشت برداری آموزشش هم توی گوگل هست میتونید استفاده کنید

برای ویندوز و مک و لینوکس و اندروید و ios هم منتشر شده
چه تفاوتی بین استفاده از متد parseیا متدهایی مثل ToInt32 یا ToInt64 وجود داره؟

یکی از مزیت های استفاده از حالت Toint32 و یا Toint64‌اینه شما حتی اگر مقداری هم بهش ندید مقدار ۰ برمیگردونه و برنامه متوقف نمیشه

اما در متد parseاگر شما مقداری ندید بهش برنامه‌ به خطا(Exception) خواهد خورد و متوقف میشه. البته میتونید در بدنه try catch بزارید تا بتونید خطاهای احتمالی رو مدیریت کنید
string number = "";
int result = int.Parse(number); // Exception: FormatException

اینجا ما متغیری به اسم number داریم و هیچ مقداری بهش اختصاص ندادیم و نال هست پس زمانی که میخوایم تبدیلش کنیم نمیتونه این تبدیل رو انجام بده

اما اگر در حالت دوم باشه:
string number = null;
int result = Convert.ToInt32(number); // result: 0

در این حالت اگر چیزی هم به عنوان ورودی وارد نشه و نال باشه مقدار ۰ که پیش فرض برمیگردونه و برنامه ادامه پیدا میکنه
این سوال خوب شد تا ما با انواع مختلفی از استناها و خطاها آشنا بشیم که در ادامه به اون ها اشاره می‌کنم و توضیح میدم
حالت system exception که پایه هست برای استثناهای دیگه که موارد دیگه ای شامل این میشه:

NullRefrenceException
زمانی که دارید سعی می‌کنید به یه متغیری که مقدارش نال هست دسترسی پیدا کنید
IndexOutOfRangeException
زمانی که سعی کنید به یه ایندکس خارج از محدوده یه آرایه یا یه مجموعه دسترسی پیدا کنید

DividebyZeroException
تقسیم بر صفر

InvalidCastException
زمانی که بخواید یه نوع داده رو به یه نوع داده ای دیگه تبدیل کنید که این امکان پذیر نباشه
OutofMemoryException
زمانی که حافظه کافی برای اختصاص دادن به داده ها وجود نداره

FileNotFoundException
زمانی که فایل مشخص شده پیدا نشه

این ها نمونه از اکسپشن ها بودن
توی یوتیوب یه نفر ویدیویی گذاشته بود این بخش از حرفش رو قبول داشتم

این که بخوای ۶ ماه آموزش ببینی یا فلان تعداد ماه آموزش ببینی و بخوای کار بگیری اشتباهه بلکه یادگیری یه مسیر هست و تو در زمان یادگیری با توجه به چیزایی که بلدی میتونی یه جا استخدام بشی یا پروژه فریلنسری بگیری

خصوصا یکی که بک اند کار میکنه باید صبوری بیشتری داشته باشه چون مباحث بک اند نسبت به فرانت اند واقعا زیادتر هستن بیس و اساس کار یک وب سایت یک اپلیکیشن قطعا بخش منطق کار هست
پس اگر سی شارپ رو انتخاب کردید به عنوان زبان برنامه نویسی صبوری به خرج بدید☺️
👍1
امروز امتحان پایان ترم پایتون بود از دستش راحت شدم🗿😂
🥰1
هر جا توی برنامه نویسی دیدید کسی ادعا داره که من خفنم من همه چی بلدم بقیه هیچی یاد نداره اتفاقه. بدونید که عمق دانشش خیلی پایینه...
هیچ سنیور دولوپری نیاز نمی بینه بخواد شو آف کنه بلکه با کد مهارت و تخصص خودش رو به بقیه نشون میده
👍3
داشتیم توی یه گروه بحث میکردیم سر این که الان چی جدیدتر هست برای برنامه های ویندوزی
قبول نمیکردن توی همین سال ۱۴۰۳ توی همین سال میلادی جدید کسی با ویندوز فرم و اینا کار کنه😂

تازه این موقعیت کاری توی استان خودم ینی فارس هست و برنامه نویس Mid-Levelمیخوان

کار پیدا میشه منتهی بلد بودن هست که مهمه
کانال توسعه دهندگان سی شارپ
داشتیم توی یه گروه بحث میکردیم سر این که الان چی جدیدتر هست برای برنامه های ویندوزی قبول نمیکردن توی همین سال ۱۴۰۳ توی همین سال میلادی جدید کسی با ویندوز فرم و اینا کار کنه😂 تازه این موقعیت کاری توی استان خودم ینی فارس هست و برنامه نویس Mid-Levelمیخوان …
گاهی اوقات برای یک شرکت یا یه مجموعه به صرفه نیست بخواد یهویی از یه چیز قدیمی بره به چیز جدیدتر
ممکنه کلی مشتری داشته باشه و وقتی بخواد چیز جدید رو ارائه بده شاید اصلا سیستم اون طرف قدیمی باشه حالا بیاد با یه چیز جدیدی مثل Winui 3 بزنه خب قطعا جواب نمیده برای ویندوز های پایین تر از ۱۰
و باز نویسی کردن پروژه هزینه های مالی و زمانی برای اون شرکت و مجموعه به همراه داره
حالا من خیلی نمیدونم در خصوص این موارد ولی به نظرم منطقی نمیاد

اینو گذاشتم که بگم دیگه شما فکر کنید در کمترین حد‌ ممکن نیاز به برنامه نویس ویندوز دارن

در طول زمان اگر اون شرکت یا مجموعه شروع کنه به ارتقای تکنولوژی نرم افزارش و مثلا با wpf یا چیزای جدیدتری مثل .NET MAUI اوکیه به نظرم

دیگه .NET Core بماند سر جای خودش که موقعیت کاری هم زیاد داره
یه چند تا داکیومنت معرفی کنم برای سی شارپ😁:

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

https://learn.microsoft.com/en-us/

سایت csharp corner :

https://www.c-sharpcorner.com/

سایت code maze
https://code-maze.com/

W3schools
هست خب ولی آنچنان در زمینه سی شارپ تکمیل نیست
👍1
quera_developer_survey_1403.pdf
22.2 MB
گزارش کوئرا از جامعه برنامه نویسی ایران ۱۴۰۳

نکته ای در بخش مهاجرت هست و اونم اینه به نظر من موندن در شرایط سخت هست که ارزش داره وگرنه دوری کردن ازش کاری رو از پیش نمیبره
برنامه نویسی که توی همین ایران هم نتونه کاری کنه خارج از کشور هم بره همینه
آدم بمونه کشور خودشو بسازه (:
CSharp_12_in_a_Nutshell_The_Definitive_Reference_9781098147440.pdf
7.3 MB
کتاب C# In a nutshell

⭕️معروف ترین کتاب در زمینه سی شارپ هست تقریبا همه اسمش رو شنیدید و یا شاید خوندید گفتم بازم بزارمش

🔰زبان: انگلیسی

🔰نسخه سی شارپ در این کتاب : 12