Posts tagged c sharp
تگها:
c sharp19
postgresql3
unit test1
enum1
linq1
mongodb2
camelcase1
windows1
reflection1
python1
mohsen•2 هفته قبل
ارسال شده در mohsen
رفع مشکل پرفرمنس PostgreSQL با کوئری های پارامتری در دات نت
یک مشکل عجیب که ممکن است در زمان کار با کوئری های PostgreSQL مواجه شوید. مربوط به اجرای کوئری های پارامتری است. کوئری های اجرا شده توسط Entity Framework با استفاده از پارامترها مانند کوئری زیر اجرا می شوند:
SELECT a.*
FROM alarms AS a
WHERE a.group = ...
رای
0
mohsen•3 هفته قبل
ارسال شده در mohsen
حل مشکل Cannot write DateTime with Kind=Unspecified در Postgresql
اگر در زمان درج رکوردهای دارای تاریخ و ساعت بدون ناحیه زمانی در Postgresql بوسیله C# با خطای زیر مواجه شدید:
Cannot write DateTime with Kind=Unspecified to PostgreSQL type 'timestamp with time zone', only UTC is supported. Note that it's not possible to ...
رای
0
mohsen•4 هفته قبل
ارسال شده در mohsen
چگونه خطای ثبت رکورد با کلید تکراری Npgsql در سی شارپ را هندل کنیم؟
اگر در سی شارپ و کار با کتابخانه Npgsql برای ارتباط با پایگاه داده Postgresql خطای ثبت رکورد با کلید تکراری را هندل کنیم. می توانیم به روش زیر عمل کنیم:
public void InsertData(MyData data)
{
using (var connection = new ...
رای
0
mohsen•1 ماه قبل
ارسال شده در mohsen
چطور در سی شارپ فایل آپلود کنیم؟
برای آپلود فایل در سی شارپ می توانیم از MultipartFormDataContent استفاده کنیم.
var client = new HttpClient();
var message = new HttpRequestMessage(HttpMethod.Post, "https://example.com/upload");
using var formContent = new ...
رای
0
mohsen•1 ماه قبل
ارسال شده در mohsen
چطور در سی شارپ استریم را به آرایه بایت تبدیل کنیم
برای تبدیل استریم (Stream) به آرایه بایت (Byte Array) در سی شارپ می توانیم اول استریم را به مموری استریم (MemoryStream) تبدیل کنیم و سپس بوسیله متد ToArray آن را به آرایه بایت تبدیل کنیم:
byte[] StreamToByteArray(Stream input)
{
if (input is ...
رای
0
mohsen•1 ماه قبل
ارسال شده در mohsen
چطور در سی شارپ تعداد اندازه طول و عرض پنجره کنسول را بدست بیاوریم؟
برای بدست آوردن اندازه پنجره خروجی کنسول در سی شارپ می توانیم از Console.WindowWidth و Console.WindowHeight استفاده کنیم.
WindowWidth: تعداد کاراکترهایی که در یک خط از کنسول قابل نمایش است باز می گرداند.
WindowHeight: تعداد خطوطی که در کنسول قابل دیدن ...
رای
0
mohsen•4 ماه قبل
ارسال شده در mohsen
چطور در ASP.net core Razor Page پراپرتی اینجکشن انجام دهیم؟
فرض کنید سرویسی با اینترفیس IMyService داریم می خواهیم این سرویس را در تمامی متدهای Razor Page استفاده کنیم. راه اول اینجکت کردن سرویس مورد نظر بعنوان ورودی تمامی متد های صفحه است. مانند:
public class MyPageModel: PageModel {
public async Task ...
رای
0
mohsen•4 ماه قبل
ارسال شده در mohsen
چطور در C# از شناسه های رشته ای به جای ObjectId برای MongoDB استفاده کنیم؟
زمانی که از MongoDB در سی شارپ استفاه می کنیم. برای مشخص کردن شناسه داکیومنت باید از ObjectId استفاده کنیم. که به صورت زیر در کلاس هایمان می توانیم شناسه را مشخص کنیم:
public class Restaurant
{
public ObjectId Id { get; set; }
}
حال اگر بخواهیم از string ...
رای
0
mohsen•4 ماه قبل
ارسال شده در mohsen
چطور در سی شارپ برای کوئری های MongoDB نام پراپرتی ها را به CamelCase تبدیل کنیم؟
اگر در C# بخواهیم از MongoDB استفاده کنیم، می توانیم از LINQ برای کوئری زدن روی داده ها استفاده کنیم. برای مثال فرض کنید که کلاس زیر را در C# داریم:
public class Restaurant
{
public ObjectId Id { get; set; }
public string Name { get; set; }
public ...
رای
0
mohsen•4 ماه قبل
ارسال شده در mohsen
چطور در سی شارپ از مقادیر enum در حلقه استفاده کنیم؟
فرض می کنیم که یک enum برای روزهای هفته داریم و می خوایم از مقادیر آن در یک حلقه foreach استفاده کنیم. برای این کار کافی است از بوسیله متد GetValues کلاس Enum، مقادیر enum را بگیریم:
public enum Weekday
{
Sunday,
Monday,
Tuesday,
Wednesday, ...
رای
0
mohsen•4 ماه قبل
ارسال شده در mohsen
فرق String با string در سی شارپ چیست؟
string (با حروف کوچک) نام مستعار System.String در سی شارپ است و هیچ فرقی با هم ندارند.
لیست کامل نام های مستعار در سی شارپ:
bool: System.Boolean
byte: System.Byte
char: System.Char
decimal: System.Decimal
double: System.Double
float: System.Single
int: ...
رای
0
mohsen•5 ماه قبل
ارسال شده در mohsen
چطور آیتم های یک لیست را در سی شارپ به صورت رندوم جابجا کنیم؟
ترتیب رندوم آیتم های یک لیست در سی شارپ به چند طریق ممکن است.
1. استفاده از GUID:
var shuffledcards = cards.OrderBy(_ => Guid.NewGuid()).ToList();
2. جابجا کردن دو به دو اعضا به صورت رندوم:
var rnd = new Random();
var list = new List<int> { ... ...
رای
0
mohsen•5 ماه قبل
ارسال شده در mohsen
چطور در سی شارپ آرایه بایت را به رشته هگزادسیمال تبدیل کنیم و بالعکس؟
برای تبدیل آرایه بایت به رشته هگز، راه آسان استفاده از کلاس BitConverter است.
byte[] ba = new byte[] { };
var hexString = BitConverter.ToString(ba).Replace("-","");
اما برای برعکس این کار می توانیم از تابع زیر استفاده کنیم:
public static byte[] ...
رای
0
mohsen•5 ماه قبل
ارسال شده در mohsen
چطور متد جنریک را بوسیله رفلکشن در سی شارپ فراخوانی کنیم
برای فراخوانی متد جنریک بوسیله رفلکشن در سی شارپ باید از متد MakeGenericMethod شی MethodInfo استفاده کنیم.
var instanceOfSample = new Sample();
MethodInfo method = typeof(Sample).GetMethod(nameof(Sample.GenericMethod));
MethodInfo generic = ...
رای
0
mohsen•6 ماه قبل
ارسال شده در mohsen
چطور در سی شارپ رشته ای با طول مشخص از یک کاراکتر تولید کنیم
برای تولید رشته به طول مشخص از یک کاراکتر در سی شارپ می توانید از کد زیر استفاده کنیم:
var length = 10;
new string('*', length); //
رای
0
mohsen•6 ماه قبل
ارسال شده در mohsen
حل مشکل An attempt was made to access a socket in a way forbidden by its access permissions
برای رفع خطای زیر کافی است، سرویس Host Network Service را در Services ری استارت کنیم:
System.Net.Sockets.SocketException (10013): An attempt was made to access a socket in a way forbidden by its access permissions.
این خطا در زمان استفاده از پایتون (برای ...
رای
0
mohsen•7 ماه قبل
ارسال شده در mohsen
چطور در سی شارپ یک رشته حاوی نام را به CamelCase تبدیل کنیم
برای تبدیل یک رشته حاوی نام به فرمت CamelCase در سی شارپ می توانیم از کد زیر استفاده کنیم:
Char.ToLowerInvariant(p[0]) + p.Substring(1)
رای
0
mohsen•9 ماه قبل
ارسال شده در mohsen
نمایش اعداد تا دو رقم اعشار در سی شارپ
String.Format("{0:0.##}", 123.4567); // "123.46"
String.Format("{0:0.##}", 123.4); // "123.4"
String.Format("{0:0.##}", 123.0); // "123"
یا با متد ToString
double a = 123.4567;
double b = 123.40;
double c = 123.00;
string sa = a.ToString("0.##"); // ...
رای
0
mohsen•11 ماه قبل
ارسال شده در mohsen
مقدار دهی به پراپرتی های پرایویت شی برای تست
روش اول استفاده از Mock هست
var mockAddress = new Mock<Address>();
mockAddress.SetupGet(p => p.Id).Returns(42);
منبع: c# - Testing properties with private setters
روش دوم استفاده از رفلکشن هست. این اکستنشن متد رو باید توی پروژه تست تعریف کنیم.
public ...
رای
0