Web Devs
624 subscribers
218 photos
22 videos
17 files
233 links
Articles, News, Jokes, Quotes, Back-End and UI/UX for web developers.
Github : https://github.com/fullStackDevsGroup
Advertising: @adsfullStackDevs
Download Telegram
#csharp
#dotnet
#comparison

روش های بد مقایسه رشته ها در سی شارپ

تا به حال اکثرا از ToLowerیا ToUpper برای مقایسه رشته های غیر حساس به حروف بزرگ استفاده می کردیم .

اما این بهترین راه برای انجام آن نیست.

استفاده از string.Equals این مقایسه از سرعت عملکرد بهتری برخوردار است (در واقع به حروف کوچک یا بزرگ رشته ها علاقه ای نداریم).

همانطور که در تصویر می بینیم.

پس برای مقایسه دو رشته string بهتره از String.Equals استفاده کنیم

@fullStackDevs
👍111
IMG_0165.JPG
2.2 MB
#csharp #visualstudio #csharp10 #aspdotnet #aspcore #dotnet

6 Amazing feature and improvement in C# 10:

📌 File-scoped namespace
📌 Record structs
📌 Constant interpolated strings
📌 Extended property patterns
📌 Global using directive
📌 Assignment and declaration in same deconstruction

❗️C# 10 is supported on .NET 6 .

@fullStackDevs
👍5
#csharp

Enum Flags Attribute in C#

@fullStackDevs
👍72🔥2
#feature
#cSharp

یکی از ویژگی های که از C# 7.0 معرفی شد استفاده از خط زیر (underscore) ( _ ) به عنوان جداکننده رقم شناخته می شود. هدف این است که خوانایی بهتر و آسان‌تر را بخصوص در اعداد بزرگ فراهم کنیم.

📌 اطلاعات بیشتر
@fullStackDevs
9👍6
#Algorithm #Sliding_window
#SlidingWindow #CSharp



🧩 الگوریتم Sliding Window:

الگوریتم Sliding Window یکی از تکنیک‌های مهم برای حل مسائل آرایه‌ها و رشته‌ها به طور بهینه است. این روش با استفاده از دو نشانگر برای بررسی بخش‌های مختلف داده، به سرعت جواب رو پیدا می‌کنه.

🔑 چطور کار می‌کنه؟
- دو نشانگر (`left` و `right`) برای نمایش پنجره (قسمتی از داده) استفاده می‌کنیم.
- نشانگر راست حرکت می‌کنه و هر بار یک کاراکتر یا مقدار جدید بررسی می‌شه.
- وقتی که شرایط خاصی مثل وجود مقدار تکراری یا رسیدن به اندازه‌ای خاص محقق بشه، نشانگر چپ حرکت می‌کنه تا پنجره رو کوچکتر کنیم.

مزیت اصلی: زمان اجرا به O(n) کاهش می‌یابد که نسبت به روش‌های سنتی با O(n²) بسیار سریع‌تر است.

💡 مثال: طول بزرگ‌ترین زیررشته بدون کاراکتر تکراری
ورودی: "abcabcbb"
خروجی: 3 (زیربرنامه "abc" بزرگ‌ترین زیررشته بدون تکرار است)



using System;
using System.Collections.Generic;

class Solution {
public int LengthOfLongestSubstring(string s) {
HashSet<char> set = new HashSet<char>();
int left = 0, maxLength = 0;

for (int right = 0; right < s.Length; right++) {
while (set.Contains(s[right])) {
set.Remove(s[left]);
left++;
}
set.Add(s[right]);
maxLength = Math.Max(maxLength, right - left + 1);
}

return maxLength;
}
}


کاربردها:
- پیدا کردن طول بزرگترین زیررشته یا زیرآرایه
- جستجوی زیرمجموعه‌ها با ویژگی‌های خاص
- مسائل مربوط به جمع یا مقایسه زیرآرایه‌ها و زیررشته‌ها



این الگوریتم خیلی مفیده برای حل مسائل بهینه در آرایه‌ها و رشته‌ها، خصوصاً وقتی نیاز به
بررسی بخش‌های مختلف داریم!



@fullStackDevs
👍5