Top Tweets for #CSharpTips
در دات نت، وقتی از FrozenDictionary ها میخوایم استفاده کنیم، پشت صحنه در Runtime بر اساس نوع دیتاستی که داره استفاده میشه، یه پیاده سازی مجزا داره
برای همین ساختش هزینه بر هست، ولی خوانش دیتا سرعت عالی داره
#CSharpTips
کلمه کلیدی volatile تو C# تضمین میکنه خوندن/نوشتن یه فیلد مستقیماً از حافظه اصلی انجام بشه و CPU کشش نکنه؛ یعنی visibility بین تردها بالا میره اما atomicity نمیده. فقط برای سناریوهای سادهی sync روی فیلدها استفاده کن.
#CSharpTips
اگر از Serilog استفاده میکنی، LogContext.PushProperty بهتر از enrich با static property هست؛
میتونی مقادیر کمکی رو به صورت thread-safe و scoped به تمام لاگ های اون scope اضافه کنی
مثل
CorrelationId
SpanId
TraceId
#CSharpTips
قبلاً برای عملگرهای ریاضی باید overloadهای جدا یا switchهای بزرگ مینوشتی.
الان میتونی روی genericها عملگرهای ریاضی داشته باشی بدون پیچیدگی.
#CSharpTips
در c# 10 به بعد میتونی using های تکراری رو یکبار در یک فایل بنویسی و از کل پروژه حذفشون کنی.
بهش Global Using میگن که باعث میشه کد تمیزتر بشه.
#CSharpTips
از record برای مدلهایی که equatable هستند استفاده کن
در record مقایسه ارزشمحور (value-based equality) اتفاق میوفته ،
که برای موجودیت هایی مثل Events, DTOها و Configها عالیه.
#CSharpTips
استفاده از
ArrayPool<T>
برای کاهش تخصیص حافظه
با https://t.co/unPHxVIzZu()
آرایهها رو از pool میگیری و دوباره برمیگردونی.
در اپلیکیشنهای high throughput (مانند APIهای پرترافیک)
باعث کاهش GC pressure و افزایش performance میشه.
#CSharpTips
SemaphoreSlim
بهتر از lock در async
lock
با async قابل استفاده نیست.
SemaphoreSlim lightweight
و async-friendly هست،
و برای throttle کردن دسترسی به یک resource فوقالعادهست.
#CSharpTips
با استفاده از
Lazy<T>
شیء رو فقط وقتی میسازه که واقعاً بهش نیاز هست،
نه در زمان initialization.
باعث کاهش مصرف حافظه و افزایش startup speed میشه.
#CSharpTips
استفاده از
Caller Info Attributes
با
[CallerMemberName], [CallerFilePath], [CallerLineNumber]
میتونی اطلاعات محل فراخوانی متد رو بگیری، بدون نیاز به log دستی.
برای logging و debugging عالیه
#CSharpTips
در دات نت 8، ساختار جدیدی به نام InlineArray اضافه شده
میتونی یه آرایه با اندازه ثابت داخل struct تعریف کنی، بدون تخصیص heap.
کارایی خیلی بالا (zero allocation)
مناسب برای پردازش دادههای کوچک
استفاده با attribute [InlineArray(n)] روی struct
#CSharpTips
در دات نت 8، PeriodicTimer معرفی شده که جایگزین حلقههای با Task.Delay برای کارهای زمانبندیشده میشه
مصرف حافظه کمتر
بدون drift زمانی (زمانبندی دقیقتر)
پشتیبانی از CancellationToken برای لغو راحت
مناسب برای background serviceها و recurring tasks.
#CSharpTips
در دات نت 9، در DataContractSerializer
بهینهسازی بزرگی صورت گرفته؛
الان از source generation پشتیبانی میکنه
یعنی serialization سریعتر، بدون reflection و با حافظهی کمتر
عالی برای سرویسهای gRPC و WCF-style
#CSharpTips
در .NET 9، کتابخانهی System.Text.Json حالا از polymorphic serialization واقعی پشتیبانی میکنه
میتونی typeهای فرزند رو با attribute مثل [JsonDerivedType] ثبت کنی تا بدون custom converter بهدرستی serialize/deserialize بشن
#CSharpTips
در https://t.co/TiuV9AwiyP Core (نسخه .NET 9) ویژگی MapStaticAssets اضافه شده که تحویل فایلهای ایستا (CSS/JS/تصاویر) را برای SPA یا Blazor بهینهتر میکند: با کشبندی خودکار، فشردهسازی و fingerprinting.
#CSharpTips
در دات نت 9
FrozenSet<T>
و
FrozenDictionary<TKey,TValue>
بهبود پیدا کردن
ساختشون زمانبره، ولی بعد از فریز شدن دسترسی فوقالعاده سریع دارن.
عالی برای lookupهای ثابت و دادههای فقطخواندنی در اپهای بزرگ
#CSharpTips
در دات نت 9، Params Span معرفی شده
حالا میتونی از
params ReadOnlySpan<T>
در متدها استفاده کنی، بدون ساخت آرایه جدید.
کاهش allocation، کارایی بالاتر و مخصوص سناریوهای performance-critical
#CSharpTips
در .net9
Extension type
معرفی شد
میتونی به typeهای موجود مثل string یا DateTime، متد و property اضافه کنی بدون
subclass یا helper static.
کد expressiveتر و سازمانیافتهتر
#CSharpTips
در .Net7 کلاس Generic math معرفی شد
الان میتونی متدهای generic بنویسی که با هر نوع عددی (int, double, decimal) کار کنن، بدون کد تکراری
کد تمیزتر، reusable و مناسب برای محاسبات عددی پیچیده
#CSharpTips
Last Seen Hashtags on Sotwe
rodcontreras
Seen from Guatemala
camspy
Seen from Germany
سـكـــسًْ
Seen from United Arab Emirates
dogknotting
Seen from Turkey
ElizabethHurley
Seen from Switzerland
robloxpiggynsfw
Seen from United States
nsfw #makima
Seen from France
TURNTUPSHAWTY
Seen from Brazil
経団連会館
Seen from Japan
Çıplaklarplajı
Seen from Turkey
Most Popular Users

Elon Musk 
@elonmusk
240.1M followers

Barack Obama 
@barackobama
119.3M followers

Donald J. Trump 
@realdonaldtrump
111.6M followers

Cristiano Ronaldo 
@cristiano
108.8M followers

Narendra Modi 
@narendramodi
106.9M followers

Rihanna 
@rihanna
97.2M followers

NASA 
@nasa
92.1M followers

Justin Bieber 
@justinbieber
90.5M followers

KATY PERRY 
@katyperry
86.7M followers

Taylor Swift 
@taylorswift13
80.5M followers

Lady Gaga 
@ladygaga
72.1M followers

Kim Kardashian 
@kimkardashian
69.3M followers

YouTube 
@youtube
68.6M followers

Virat Kohli 
@imvkohli
68.4M followers

Bill Gates 
@billgates
63.4M followers

The Ellen Show
@theellenshow
62.5M followers

CNN 
@cnn
61.9M followers

Neymar Jr 
@neymarjr
60.9M followers

X 
@x
60.9M followers

CNN Breaking News 
@cnnbrk
59.9M followers

