نمایش نتایج 1 تا 9 از 9

نام تاپیک: .NET Framework FAQ بخونید ضرر نمی کنید

  1. #1

    .NET Framework FAQ بخونید ضرر نمی کنید

    Kernel Mode Developer
    RootKitSMM@Yahoo.com

  2. #2

    نقل قول: .NET Framework FAQ بخونید ضرر نمی کنید

    ادامه ..
    از همین وبلاگ:
    In this upcoming series of blogposts on "CLR Hosting" I'm going to tell you how you can take benefit of the .NET Framework v2.0's CLR Hosting API in order to take advantage of the power of the CLR inside your own applications. Together with a series on ".NET Framework internals" I have the intention to offer you a collection of posts that answer some common questions I did receive in the last couple of months/years and that I've asked myself too before I decided to dive into this stuff a little deeper.
    CLR hosting
    Kernel Mode Developer
    RootKitSMM@Yahoo.com

  3. #3

    نقل قول: .NET Framework FAQ بخونید ضرر نمی کنید

    با تشكر از ميثم جان به خاطر لينك هاي خوبي كه قرار دادن .
    بنده يه سوال واسم پيش اومده . البته خيلي سعي كردم از داخل متن همون سايت به جوابم برسم ولي خيلي زبانم خوب نيست . با گوگل ترنسليت هم سعي كردم ولي بازم چيزي دستگيرم نشد .
    دليل اين مورد چيه :
    What is the difference between == and object.Equals
    با تشكر از اساتيد بزرگوار ........

  4. #4

    نقل قول: .NET Framework FAQ بخونید ضرر نمی کنید

    نقل قول نوشته شده توسط Netsky مشاهده تاپیک
    دليل اين مورد چيه :
    What is the difference between == and object.Equals
    سلام.
    برای value type ها، مثل int، byte و ... تفاوتی نمیکنه، اما برای Reference Type ها این دو دستور متفاوت عمل می کنن.

    operator == هنگامی استفاده میشه که بخواهید هویت دو Entity رو با هم مقایسه کنید. به این کد دقت کنید:


    Font font1 = new Font("verdana", 12f, FontStyle.Bold);
    Font font2 = new Font("verdana", 12f, FontStyle.Bold);

    Console.Write(font1 == font2); /*FALSE*/
    Console.Write(font1.Equals(font2)); /*TRUE*/


    اینجا دارم دو تا فونت با مشخصات یکسان ایجاد میکنم. هر دو Verdana با سایز 12 و Bold هستن، پس با عملا با هم برابرن. همونطوریکه در کد فوق میبینید، font1==font2 نیستش، چون Reference به این دو فونت متفاوته. در واقع اونها دارن به دو object متفاوت Refer میکنن.

    اما font1.Equals(font2) هستش، چون هر دو فونت Verdana با سایز 12 و Bold هستن.

    موفق باشید.

  5. #5
    VIP آواتار gwbasic
    تاریخ عضویت
    فروردین 1403
    محل زندگی
    تهران
    سن
    42
    پست
    982

    نقل قول: .NET Framework FAQ بخونید ضرر نمی کنید

    نقل قول نوشته شده توسط Netsky مشاهده تاپیک
    با تشكر از ميثم جان به خاطر لينك هاي خوبي كه قرار دادن .
    بنده يه سوال واسم پيش اومده . البته خيلي سعي كردم از داخل متن همون سايت به جوابم برسم ولي خيلي زبانم خوب نيست . با گوگل ترنسليت هم سعي كردم ولي بازم چيزي دستگيرم نشد .
    دليل اين مورد چيه :

    با تشكر از اساتيد بزرگوار ........
    چهار روش مقایسه در C#‎

    https://barnamenevis.org/showth...8C%D8%B3%D9%87

  6. #6

    نقل قول: .NET Framework FAQ بخونید ضرر نمی کنید

    پست همزمان
    سلام علی رضا


    در value type ها Object.Equals با == فرقی نداره هر دو مقدار رو مقایسه می کنن

    ولی در reference types ها با هم فرق دارن

    در این توع تایپ ها ==فقط زمانی true برمی گردونه که وقتی هر دو object به یه جا تو heap اشاره کنن برابر این تابع می شه Object.ReferenceEquals یعنی کلا دو object یه چیز باشن
    ولی Object.Equals مقدار های دو object رو مقایسه می کنه نه جایی که به هم اشاره می کنن با اینکه string ها reference type هستن ولی موقع مقایسۀ دو رشته ، رویه فرق می کنه

    ببین
    https://barnamenevis.org/showthread.php?t=184304

    البته قبلا تو وبلاگ Eric Lippert دیده بودم
    Kernel Mode Developer
    RootKitSMM@Yahoo.com

  7. #7
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    آذر 1387
    محل زندگی
    تهران
    پست
    848

    نقل قول: .NET Framework FAQ بخونید ضرر نمی کنید

    البته تابع equal به هیچ وجه به هوشمند نیست و خوشبختانه قابلیت override داره.
    برای مثال شما میتونی بگی که اگه دو تا آبجکت که از کلاس Person ساخته شده اند؛ نام و نام خانوادگیشان یکی است؛ با هم equal هستند؛ حتی اگر جنسیتشان هم فرق کند.
    البته این بدیهی است؛ اما خواستم توصیه کنم قابلیت override این متد مفید رو از دست ندید.

  8. #8

    نقل قول: .NET Framework FAQ بخونید ضرر نمی کنید

    نقل قول نوشته شده توسط mehdi.mousavi مشاهده تاپیک
    سلام.
    برای value type ها، مثل int، byte و ... تفاوتی نمیکنه، اما برای Reference Type ها این دو دستور متفاوت عمل می کنن.

    operator == هنگامی استفاده میشه که بخواهید هویت دو Entity رو با هم مقایسه کنید. به این کد دقت کنید:


    Font font1 = new Font("verdana", 12f, FontStyle.Bold);
    Font font2 = new Font("verdana", 12f, FontStyle.Bold);

    Console.Write(font1 == font2); /*FALSE*/
    Console.Write(font1.Equals(font2)); /*TRUE*/


    اینجا دارم دو تا فونت با مشخصات یکسان ایجاد میکنم. هر دو Verdana با سایز 12 و Bold هستن، پس با عملا با هم برابرن. همونطوریکه در کد فوق میبینید، font1==font2 نیستش، چون Reference به این دو فونت متفاوته. در واقع اونها دارن به دو object متفاوت Refer میکنن.

    اما font1.Equals(font2) هستش، چون هر دو فونت Verdana با سایز 12 و Bold هستن.

    موفق باشید.
    منظور از مشخصات پارامتر های ورودی هست؟

  9. #9

    نقل قول: .NET Framework FAQ بخونید ضرر نمی کنید

    نقل قول نوشته شده توسط saed2006 مشاهده تاپیک
    منظور از مشخصات پارامتر های ورودی هست؟
    منظورم خصیصه های یک کلاس بود. اون خصائصی که میتونه تعیین کنه دو Instance متفاوت از یک کلاس، یکسان هستن یا خیر.

    بطور مثال کی میگیم دو Instance از کلاس Pen با هم یکسان هستند؟ وقتی که Brush، Color، Width، Alignment و بقیه خصیصه های هر دو Pen با هم برابر باشن.

    موفق باشید.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •