C# (C Sharp) programming
По всем вопросам- @notxxx1 Реестр РКН: https://clck.ru/3Fk3kb #VRHSZ
Ko'proq ko'rsatish📈 Telegram kanali C# (C Sharp) programming analitikasi
C# (C Sharp) programming (@csharp_ci) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 17 994 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 7 238-o'rinni va Rossiya mintaqasida 36 485-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 17 994 obunachiga ega bo‘ldi.
03 Noyabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -72 ga, so‘nggi 24 soatda esa 1 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 16.33% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 7.62% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 2 939 marta ko‘riladi; birinchi sutkada odatda 1 371 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 0 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent .net, api, логика, архитектура, string kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“По всем вопросам- @notxxx1
Реестр РКН: https://clck.ru/3Fk3kb
#VRHSZ”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 04 Noyabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
public static void FireAndForget(
this Task task,
Action<Exception> errorHandler = null)
{
task.ContinueWith(t =>
{
if (t.IsFaulted && errorHandler != null)
errorHandler(t.Exception);
},
TaskContinuationOptions.OnlyOnFaulted);
}
Использование:
SendEmailAsync().FireAndForget(
e => Console.WriteLine(e.Message));
2. Повтор
Для повторного выполнения задачи мы можем создать метод Retry, который позволит нам установить максимальное количество попыток и задержку между ними. Он будет работать до выполнения задачи или достижения максимальной попытки.
public static async Task<TResult>
Retry<TResult>(
this Func<Task<TResult>> taskFactory,
int maxRetries,
TimeSpan delay)
{
for (int i = 0; i < maxRetries; i++)
{
try
{
return await taskFactory()
.ConfigureAwait(false);
}
catch
{
if (i == maxRetries - 1)
throw;
await Task.Delay(delay)
.ConfigureAwait(false);
}
}
// не должно достигать этого места
return default(TResult);
}
Использование:
var result = await (
() => GetResultAsync())
.Retry(3, TimeSpan.FromSeconds(1));
3. Действие при сбое
Выполняется в случае возникновения ошибок или исключений при выполнении задачи
public static async Task
OnFailure(this Task task,
Action<Exception> onFailure)
{
try
{
await task.ConfigureAwait(false);
}
catch (Exception ex)
{
onFailure(ex);
}
}
Использование:
await GetResultAsync()
.OnFailure(ex => Console.WriteLine(ex.Message));
4. Установка временного ограничения для выполнения задачи можно использовать в тех случаях, когда необходимо предотвратить длительное выполнение данной задачи (особенно, если задача не может быть отменена токеном).
public static async Task
WithTimeout(this Task task,
TimeSpan timeout)
{
var delayTask = Task.Delay(timeout);
var completedTask = await
Task.WhenAny(task, delayTask)
.ConfigureAwait(false);
if (completedTask == delayTask)
throw new TimeoutException();
await task;
}
Использование:
await GetResultAsync()
.WithTimeout(TimeSpan.FromSeconds(1));
5. Возврат
Периодически бывает необходимо возвращать значение по умолчанию в случае неудачного выполнения задачи.
public static async Task<TResult>
Fallback<TResult>(
this Task<TResult> task,
TResult fallbackValue)
{
try
{
return await task.ConfigureAwait(false);
}
catch
{
return fallbackValue;
}
}
Использование:
var result = await GetResultAsync()
.Fallback("fallback");
▪ Статья
@csharp_ciusing System;
class Program
{
static void Main(string[] args)
{
double num1 = 1.000001;
double num2 = 0.000001;
Console.WriteLine((num1 - num2) == 1.0);
}
}
@csharp_ciusing System;
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("H" + 'I');
Console.WriteLine('h' + 'i');
}
}using System;
using System.Text;
public class Program
{
public static void Main(string[] args)
{
String str = "";
StringBuilder sb1 = new StringBuilder("TechBeamers");
StringBuilder sb2 = new StringBuilder("TechBeamers");
StringBuilder sb3 = new StringBuilder("Welcome");
StringBuilder sb4 = sb3;
if (sb1.Equals(sb2)) str += "1";
if (sb2.Equals(sb3)) str += "2";
if (sb3.Equals(sb4)) str += "3";
String str1 = "TechBeamers";
String str2 = "Welcome";
String str3 = str2;
if (str1.Equals(str2)) str += "4";
if (str2.Equals(str3)) str += "5";
Console.WriteLine(str);
}
}
Ответclass Solution:
def getHint(self, se: str, gu: str) -> str:
dcse=defaultdict(lambda:0)
dcgu=defaultdict(lambda:0)
a=0
b=0
for i in range(len(se)):
if(se[i]==gu[i]):
a+=1
else:
dcse[se[i]]+=1
dcgu[gu[i]]+=1
for x in dcse:
if(dcgu[x]>=dcse[x]):
b+=dcse[x]
else:
b+=dcgu[x]
return(str(a)+"A"+str(b)+"B")
пишите свое решение в комментариях 👇
@csharp_ciusing System.Threading;
void PrintNumbers()
{
for (int i = 1; i <= 5; i++)
{
Console.WriteLine(i);
}
}
Thread newThread = new Thread(PrintNumbers);
Starting a Thread
Чтобы запустить поток в C#, вы можете использовать метод Start():
newThread.Start();
Joining a Thread
Чтобы дождаться завершения выполнения потока в C#, вы можете использовать метод Join()
newThread.Join();
Thread Sleep
Остановка текущего потока на заданное время,
Thread.Sleep(1000); // Sleep for 1 second
Thread Pools
Чтобы использовать пул потоков в C#, вы можете воспользоваться классом ThreadPool:
using System.Threading;
ThreadPool.QueueUserWorkItem(PrintNumbers);
Tasks
Чтобы создать и запустить задачу в C#, вы можете использовать класс Task:
using System.Threading.Tasks;
Task.Run(PrintNumbers);
Wait
Чтобы дождаться завершения задачи в C#, вы можете использовать метод Wait():
Task task = Task.Run(PrintNumbers);
task.Wait();
Cancelling a Task
Для отмены задачи в C# можно использовать класс CancellationTokenSource:
using System.Threading;
using System.Threading.Tasks;
CancellationTokenSource cts = new CancellationTokenSource();
Task.Run(() => PrintNumbers(cts.Token), cts.Token);
cts.Cancel();
Task Exceptions
Для обработки исключений в задаче можно использовать блок try-catch внутри :
using System.Threading.Tasks;
Task.Run(() =>
{
try
{
// Code that may throw an exception
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
});
@csharp_ci