آموزش نکات #C قسمت چهارم

آموزش نکات #C قسمت چهارم

پياده سازی حالت ساده‌ی الگوی سينگلتون در یک کلاس

sealed class SingletonClass { // Static members are lazily initialized. // .NET guarantees thread safety for static initialization private static readonly SingletonClass instance = new SingletonClass(); // Note: constructor is private. private SingletonClass(){} public static SingletonClass GetInstance() { return instance; } }

معرفی یک الگوی ساده از ژنریک سينگلتون

class GenericSingleton where T : class, new() { private static T instance; public static T GetInstance() { lock (typeof(T)) { if (instance == null) { instance = new T(); } return instance; } } }

مثال از نحوه‌ی استفاده:

AutoFactory autoF = GenericSingleton.GetInstance();

گرد کردن و رُند کردن یک مقدار اعشاری

رُند‌کردن:

int x = (int)Math.Round(2.5555); // x == 3

گرد کردن تا دو رقم اعشار:

decimal x = Math.Round(2.5555, 2); // x == 2.56

بدست آوردن قسمت صحيح یک عدد اعشاری

decimal d = 123.234M; decimal i = Math.Truncate(d)

یافتن مقادیر MAX و MIN Primitive Typeهای عددی

این مقادیر بصورت خواص درون کار وجود دارند.

Int16.MaxValue; Int16.MinValue; Int64.MaxValue; Int64.MinValue; Double.MaxValue; Double.MinValue;

پارامتر اول : عدد دلخواه

پارامتر دوم : توان عدد(از اعداد بين 0 تا 1 برای جذر گرفتن استفاده کنيد)

تبدیل درجه به رادیان و بلعکس

public static double ConvertDegreesToRadians(double degrees) { return ((Math.PI / 180) * degrees); } public static double ConvertRadiansToDegrees(double radians) { return ((180 / Math.PI) * radians); }

تبدیل عدد و رشته به متناظر بولين آنها و بلعکس

تبدیل یک متغير بولين به نوع صحيح:

bool flag = false; int i = (flag ? 1 : 0);

تبدیل یک عدد صحيح به متناظر بولين آن:

int i = 1; bool flag = (i == 1 ? true : false);

تبدیل یک رشته به متناظر بولين آن:

string str = "Yes"; bool flag = str.ToLower() == "yes" ? true : false;

تبدیل درجه حرارتها به یکدیگر ( سلسيوس، فارنهایت، کلوین )

public static double CelsiusToFahrenheit(double celsius) return (1.8 * celsius) + 32; } public static double FahrenheitToCelsius(double fahrenheit) { return 1.8 * (fahrenheit - 32); } public static double CelsiusToKelvin(double celsius) { return celsius + 273; } public static double KelvinToCelsius(double kelvin) { return kelvin - 273; } public static double FahrenheitToKelvin(double fahrenheit) { return CelsiusToKelvin(FahrenheitToCelsius(fahrenheit)); } public static double KelvinToFahrenheit(double kelvin) { return CelsiusToFahrenheit(KelvinToCelsius(kelvin)); }



نظرات کاربران



عبارت امنیتی : حاصل 4 × 6 می شود :
متن پیام :