نظرات مطالب
مدیریت دانلود‌های همزمان از یک سایت و بحث تایم آوت
سلام
من دنبال یه راهی میگشتم که با استفاده از خود سی شارپ بشه تشخیص داد که به اینترنت کانکشن داریم یا نه؟
System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces();
این فقط شبکه ها رو برمیگردونه ولی تشخیص کانکت بودن به اینترنت رو نمیده.
مطالب
تبدیل پروژه ویراستار به دات نت

پروژه ویراستار را از Ruby به سی شارپ تبدیل کردم. سورس نهایی کامل، فایل‌های باینری، به همراه unit tests و راهنمای کتابخانه، از آدرس زیر قابل دریافت هستند:



خلاصه کارهایی را که انجام می‌دهد:



نظرات مطالب
Minimal API's در دات نت 6 - قسمت سوم - ایجاد endpoints مقدماتی
یک نکته‌ی تکمیلی: تکامل lambda expressions در C# 12 با امکان تعریف مقدار پیش‌فرض پارامترها

در C# 12 می‌توان برای پارامترهای lambda expressions نیز مقدار پیش‌فرض تعریف کرد و از این لحاظ با مابقی قسمت‌ها و ویژگی‌های فعلی زبان، هماهنگی کاملی دارد:
var lambdaWithDefaultParam = (int val = 10) => val + 1;
Console.WriteLine(lambdaWithDefaultParam() == 11);
Console.WriteLine(lambdaWithDefaultParam(4) == 5);
در این مثال در حین فراخوانی lambda، زمانیکه پارامتری مشخص نشده‌است، از همان مقدار پیش‌فرض استفاده می‌کند.

همچنین در اینجا اگر به هر دلیلی نیاز به دسترسی مقدار پیش‌فرض را داشته باشید، روش کار به صورت زیر است:
Console.WriteLine(lambdaWithDefaultParam.Method.GetParameters()[0].DefaultValue);

یک نکته: دلیل اصلی اضافه کردن یک چنین قابلیتی، ساده سازی تعاریف Minimal API's است تا بتوان مقادیر پیش‌فرضی را برای پارامترهای درخواست رسیده، تعریف کرد:
app.MagGet("/items", (int? limit, int offset = 0) =>{
   // paginated query for items
});
اشتراک‌ها
تعصب‌های قدیمی را کنار بگذاریم، استاندارد کد بزنیم!

طی سال‌های مختلف برنامه‌نویسی و گاهی استفاده از زبان‌های مختلف ممکن است باعث شده باشد ما به طور ناخواسته به «دست‌خطی» غیر استاندارد دست یافته باشیم و به سیستمی که بیشتر برای خود ما آشنا باشد کد بزنیم. البته که چنین سیستمی به خودی خود بد نیست اما چون دیگران با آن آشنا نیستند میتواند خواندن و مرور کدها را با مشکل جدی مواجه کند. با رعایت بیشتر اصول و قواعد معرفی شده در هر زبان می‌توان تا جای ممکن کدهای خواناتر و قابل ارائه‌تری ارائه دهیم.

در این مطلب که نکاتی نه چندان ناآشنا ولی لازم جهت نام‌گذاری، استفاده از کلمه کلیدی var و همچنین اضافه شدن کلمات کلیدی جدیدی همچون record را در c# مرور کنیم. به طور مثال:

روش صحیح استفاده از var:

var var1 = "This is clearly a string";

روش غلط استفاده از var:

int var4 = ExampleClass.ResultSoFar();
تعصب‌های قدیمی را کنار بگذاریم، استاندارد کد بزنیم!
اشتراک‌ها
فریمورک WixSharp برای ساختن فایل نصاب MSI
این فریمورک برای تولید فایل‌های MSI با امکانات مختلف به زبان C# کاربرد دارد.


    static public void Main(string[] args)
    {
        var project = new Project("MyProduct",
                          new Dir(@"%ProgramFiles%\My Company\My Product",
                              new File(@"Files\Docs\Manual.txt"),
                              new File(@"Files\Bin\MyApp.exe")));
 
        project.GUID = new Guid("6f330b47-2577-43ad-9095-1861ba25889b");
 
        Compiler.BuildMsi(project);
    }
فریمورک WixSharp برای ساختن فایل نصاب MSI
اشتراک‌ها
کتابخانه SnmpSharpNet برای خواندن بسته های پروتکل SNMP در شبکه

کتابخانه دات نتی SnmpSharpNet

کتابخانه ای برای دریافت و ارسال Packet‌های اطلاعاتی شبکه تحت پروتکل SNMP  

یک کتابخانه منبع باز SNMP ( Simple Network Management Protocol) نوشته شده در زبان C#‎ برای پشتیبانی از پروتکل SNMP ورژن‌های 1 و 2 و 3

استفاده جهت Capture (ضبط) کردن Packet‌ها (جمع آوری آمار ترافیک شبکه) و دریافت پیام از دستگاه‌های مختلف شبکه از طریق پروتکل UDP و تجزیه کردن (Parse SNMP TRAP packet) به نوع SNMP (
جهت استفاده در نرم افزارهای دات نتی برای شنود (Sniff) لاگ تجهیزات شبکه  )

مثالهایی از استفاده از این کتابخانه

How SNMP Works  
کتابخانه SnmpSharpNet برای خواندن بسته های پروتکل SNMP در شبکه
نظرات مطالب
آناتومی یک گزارش خطای خوب
با سلام خدمت آقای نصیری
معمولا زمانی که مشکلی برام پیش میاد میرم سراغ StackOverFlow.
من معمولا با پرسیدن سوال تو این وبسایت مشکل دارم البته اونم به لحاظ ضعیف بودن زبان انگلیسی بنده است.یک استاندارد برای پرسیدن سوال وجود داره و به تازگی قبل از پرسیدن سوال کلی توضیح و راهنمایی نمایش داده میشه
How to resolve errors with unsafe pointer in C#?
سوال بالا آخرین موضوعی بود که چندی پیش پرسیدم.کلی امتیاز منفی بهمراه داشت و در انتها سوالم Close شد.

نظرات نظرسنجی‌ها
اگر بخواهید کنار دات نت بر روی یک پلتفرم یا زبان دیگری نیز کار کنید کدام را انتخاب می کنید؟
بله در موردش کمی مطالعه داشتم، 2-3 سالی هست توی خیلی از اپهای آموزش برنامه نویسی اندروید هم یادگیریشو گذاشتن، حتی برخی به عنوان اولین زبان اندروید نویسی یادش می‌دن. چون خودم دات نت رو یک محیط یکپارچه می‌بینم و تفاوت خاصی بین c# یا vb.net نمیبینم، پلتفرم جاوا رو هم یک محیط واحد میبینم! به هرحال همه زبانهای محیط جاوا در نهایت به کد ماشین مجازی جاوا ترجمه میشن، و قدرت یکسانی دارن. اگر میفرمایید یک گزینه دیگر به عنوان کاتلین هم اضافه میکنم، یا عنوان جاوا رو به "یکی از زبانهای پلتفرم  جاوا، مثل جاوا، کاتلین، اسکالا و ..." تغییر میدم.