-
مزیت استفاده از Safe Cast در #C
چهارشنبه 12 آبانماه سال 1389 14:42
می توان ObjectA را به ObjectB ، با دو روش زیر Cast نمود: var x = ObjectA as ObjectB ; var x = ( ObjectB ) ObjectA; روش اول را Safe Cast می گویند. در این روش اگر ObjectA قابل Cast کردن به ObjectB نباشد، مقدار برگشتی که همان x است Null خواهد شد و Exception پیش نمی آید. اما در روش دوم اگر ObjectA به ObjectB قابل Cast...
-
دیباگ کردن برنامه در محیط VisualStudo
سهشنبه 11 آبانماه سال 1389 13:34
اگر بخواهیم در زمان دیباگ در محیط Visual Studio به متغیری مقدار بدهیم و برنامه با این متغیر دلخواه ما ادامه پیدا کند، این متغیر را Add Watch می کنیم و در آنجا برای این متغیر EditValue انجام می دهیم.
-
در مورد Enum در #C
دوشنبه 10 آبانماه سال 1389 19:49
وقتی یک Property از تایپ Enum داریم، یعنی در زمان ذخیره کردن آن در دیتابیس یک Int ذخیره می شود. در صورتی که به عناصر یک Enum مقدار داده نشود، سیستم به آن به ترتیب مقادیر 0، 1 و ... را تخصیص می دهد. در صورتی که به بعضی از عناصر یک Enum عدد تخصیص داده باشیم و به بعضی از آنها عددی تخصیص نداده باشیم، سیستم به آنهایی که...
-
در مورد Sequence در اراکل
دوشنبه 10 آبانماه سال 1389 18:47
اگر Sequence ای به صورت Cycle تعریف شده باشد، یعنی اینکه بعد از رسیدن به عدد انتهایی می تواند از ابتدا شروع شود. اگر Sequence ای به صورت NoOrder تعریف شده باشد، یعنی اعدادی که تولید می کند متوالی نخواهند بود.
-
در مورد Sequence در اراکل
دوشنبه 10 آبانماه سال 1389 17:51
وقتی که قرار است کلاینت های مختلف در دیتابیس رکوردهایی ذخیره کنند و برای هر رکوردی که ثبت می شود یک کد منحصربفرد داده شود یک راهش این است که یک Sequence در دیتابیس تعریف شود و هر کلاینت در زمان ثبت مقدار Sequence را بگیرد و به عنوان کد منحصربفرد رکورد خود، ثبت نماید. وقتی در یک زمان چندین کلاینت مقدار Sequence را می...
-
تعریف فرمت مشخص در #C
یکشنبه 25 مهرماه سال 1389 07:48
اگر بخواهیم یکی از Prperty های کلاس فقط فرمت خاصی را از کاربر بپذیرد، کارهای زیر را انجام می دهیم: الگوی قابل قبول را معرفی می کنیم. یک آبجکت از نوع System.Text.RegularExpressions .Regx ایجاد می کنیم و این الگوی قابل قبول را پارامتر ورودی این آبجکت قرار می دهیم. مقدار Property مورد نظر را به متد IsMatch این آبجکت می...
-
در مورد Sequence در Oracle
جمعه 23 مهرماه سال 1389 17:33
Sequence آبجکتی است در اوراکل، که برای تولید اعداد پشت سرهم مورد استفاده قرار می گیرد. در زمان ایجاد یک Sequence پارامترهای زیر برایش تعیین می گردد: CREATE SEQUENCE my_sequence MINVALUE 1 MAXVALUE 999999999 START WITH 1 INCREMENT BY 1 CACHE 20 · مقدار شروع: همان START WITH است که مشخص می کند این Sequence از چه عددی...
-
اگر بخواهیم مقدار یک string را با null و یا "" مقایسه کنیم
چهارشنبه 21 مهرماه سال 1389 15:39
آیا رشته Null است؟ آیا رشته Empty است؟ یعنی آیا رشته با "" مساویست؟ برای یافتن پاسخ دو سوال فوق در مورد String ای که نامش firstName است از دستور زیر استفاده می شود: string.IsNullOrEmpty(firstName); aو اگر String مورد نظر، مقدارش Null و یا "" باشد، دستور فوق مقدار true برمی گرداند.
-
متدهای PadLeft و PadRight برای تغییر فرمت رشته در #C
دوشنبه 5 مهرماه سال 1389 09:22
اگر بخواهیم رشته مورد نظر که نامش str1 است، به عنوان مثال شرایط زیر را داشته باشد: ۱-طولش ۱۲ باشد ۲-اگر طولش کمتر از ۱۲ بود به تعدادی که کمتر است به سمت چپ آن عدد صفر اضافه کنیم. برای این کار از دستور زیر استفاده می کنیم: str2 = str1.PadLeft(12, '0' ); اکنون رشته Str2 یک رشته با طول 12 است یعنی همان رشته ی Str1 است که...
-
متد Pars در #C که رشته را به عدد تبدیل می کند
دوشنبه 5 مهرماه سال 1389 09:15
دستور Int32.pars(string A) پارامترورودی را که رشته است را به Int تبدیل می کند. به همان روش فوق می توان رشته را به decimal نیز تبدیل کرد.
-
تخصیص مقدار اولیه به String در #C
چهارشنبه 24 شهریورماه سال 1389 13:46
وقتی در #C به یک String مقدار اولیه می دهیم بهتر است به جای null از String.Empty استفاده شود.
-
رفت و برگشت های بین لایه های UI و Service
چهارشنبه 24 شهریورماه سال 1389 13:09
باید سعی کنیم تعداد رفت و آمدهای بین لایه های UI و Service کم باشد و تا حد امکان در سمت UI، سرویس فراخوانی نکنیم . اگر قرار باشد که تعدادی آبجکت به لایه ی سرویس ارسال شود، به جای اینکه هر کدام از آنها را جدا جدا بفرستیم بهتر است که یکباره آن آبجکت ها را در یک لیست قرار بدهیم و یکبار آن لیست را به سمت لایه سرویس...
-
در مورد Using و Dispose در #C
چهارشنبه 24 شهریورماه سال 1389 12:51
وقتی از Using استفاده می شود دیگر نباید داخلش Dispose() را استفاده کرد. به عبارتی وقتی از Using استفاده می شود خودش این Dispose کردن را مدیریت می کند.
-
معرفی ValueType و RefrenceType با تصویر
شنبه 13 شهریورماه سال 1389 16:50
-
در مورد دسترسی ها
شنبه 13 شهریورماه سال 1389 16:35
:Public یعنی برای همه ی دنیا تعریف شده است. Internal : در سطح پروژه یا به عبارتی در سطح اسمبلی تعریف شده است. Protected : در سطح فرزندان تعریف شده است. یعنی به عبارتی در سطح خانواده است. Private : فقط در سطح خود آن کلاس است.
-
در مورد AOP و Remooting
شنبه 13 شهریورماه سال 1389 16:34
AOP : یک متدولوژی است برای پیاده سازی Asspect ها. تعدادی از Asspect ها به عنوان مثال عبارتند از Log کردن، Login ، Security و ... :Remooting یک تکنولوژی برای Communication است که بعدها که دات نت آن را کامل کرد، WCF را ارائه کرد.
-
تایپ Blob در Oracle
شنبه 13 شهریورماه سال 1389 16:34
Bloblob یعنی حجم زیادی از داده ها. تایپ های Picture را از این نوع تعریف می کنیم که بتوانیم در آن باینری ذخیره کنیم.
-
Application Domain
شنبه 13 شهریورماه سال 1389 15:54
IIS دارد از مفهوم Application Domain استفاده می کند. که مفهوم آن اسمش Worker ZProcess است که به ازای هر نفراز کاربران یک Application Domain ایجاد می کند.
-
روش های مختلف Lock کردن - از کتاب Microsoft 70-536
شنبه 13 شهریورماه سال 1389 15:54
یک روش برای Lock کردن، استفاده از مانیتور است. وقتی از مانیتور استفاده می کنیم سعی می کنیم عملیات را در Try و Catch بگذاریم. بین چند Apploication می توان از Lock های سیستمی استفاده کرد. این Lock های سیستمی زیاد خوب نیستند و مشکلات زیر را دارند: وابسته به سیستم هستند یعنی مثلا باید سیستم عامل آنها ویندوز باشد و موقع...
-
در مورد Thread ها - از کتاب Microsoft 70-536
شنبه 13 شهریورماه سال 1389 15:16
Alive نشان می دهد که Thread در حال اجرا هست یا نیست. Thread Pool فضایی است در CLR که Thread ها را از این می گیریم. ID که در CLR است آنکه در ویندوز است ممکن است متفاوت باشد. متدهای Abort ، Intrupt و Join تابع های مورد استفاده در بحث Thread هستند. Spin Waite : برای یک زمان مشخصی این را نگه می دارد و Waite می کند و بقیه...
-
در مورد Binary Format و Soap - از کتاب Microsoft 70-536
شنبه 13 شهریورماه سال 1389 15:16
دو روش Binary Format و Soap وجود دارد. در Binary Format اگر هر دو طرف .Net باشند سرعت بالا است. در Soap حجم 4 برابر باینری است چون XML است. همه قبولش دارند. یک تفاوت بین Binary و Soap اینست که Binary از Fierwal رد نمی شود اما Soap می تواند از Fierwal رد شود. در دات نت 1 نمی تواند BinaryFormat را باز کند.
-
در مورد Collection ها در دات نت - از کتاب Microsoft 70-536
شنبه 13 شهریورماه سال 1389 15:15
چند نوع Collection مختلف وجود دارد که هر کدام برای انجام کار خاصی استفاده می شوند: Array Array List Dictionary Hash Table Collection نیز خیلی مهم است. در Collection هم می توان داده ها را به صورت ترتیبی یعنی پشت سر هم Add کرد و هم می توان آنها را به صورت Random اضافه نمود. اکنون در ادامه خاصیت های هر یک از Collection...
-
فواید Generic ها
شنبه 13 شهریورماه سال 1389 14:31
Generic ها چه فایده هایی دارند: Performance خیلی بالا می رود. تبدیل Type ها به یکدیگر کاهش می یابد. خطاها در زمان Compile به وجود می آیند. یعنی دیگر خطاها Run Time نیستند.
-
چند اینترفیس مهم در دات نت
شنبه 13 شهریورماه سال 1389 14:31
چند مورد از اینترفیس های مهم در دات نت به شرح زیر هستند: IComparable IDisposable IConvertable I IEquatable IFormatable
-
پدر و فرزند در شی گرایی
شنبه 13 شهریورماه سال 1389 14:31
وقتی به یک متد Object پدر پاس شده باشد، می تواند Object های فرزند را نیز به آن پاس کرد.
-
در مورد pdb فایل ها در دات نت
شنبه 13 شهریورماه سال 1389 14:31
با استفاده از فایل های .Pdb در پروژه های دات نت، همه ی مسیرهای سیستم مبدا قابل به دست آوردن هستند.
-
متدهای System.Object - از کتاب Microsoft 70-536
شنبه 13 شهریورماه سال 1389 14:31
همه ی مشتقات System.Object داری متدهای زیر هستند: Get Hash Value Equals to String() get type
-
در مورد ValueTypeوRefrenceTyp در دات نت-از کتاب Microsoft 70-536
شنبه 13 شهریورماه سال 1389 14:31
در دات نت فریم ورک 300 نوع ValueType وجود دارد و حدود 2500 نوع Refrence Type مزیت RefrenceType ها به شرح زیر است: Flexible هستند. موقع پاس شدن به متد Performance بالا می رود. در Refrence Type ها وقتی می نویسیم: a=b دیگر a,b به یک نقطه اشاره خواهند داشت و با تغییر یکی، دیگری نیز تغییر می کند. همه ValueType ها از...
-
سایز ValueType ها - از کتاب Microsoft 70-536
شنبه 13 شهریورماه سال 1389 14:16
در دات نت فریم ورک همه ValueType ها کوچکتر مساوی 16 بایت هستند. مزیت این است که سرعت بالا می رود و عیبش این است که داده ای که ذخیره می شود کم است.
-
استفاده از Struct به جای کلاس- از کتاب Microsoft 70-536
شنبه 13 شهریورماه سال 1389 14:16
در زمانی که شرایط زیر برقرار باشد به جای کلاس از Struct استفاده می کنیم: در آن واحد یک Value بیشتر برنگردانیم. حجم آن کمتر از 16 بایت باشد. مقدارش بعد از مقداردادن اولیه دیگر نخواهد تغییر کند. نخواهیم به Ref Type آن را Cast کنیم.