ورود

نسخه کامل مشاهده نسخه کامل : توضیح در linq



Life24
30-01-2014, 11:05
سلام،
عزیزان میتونند چند مورد رو توضیح دهند؟
من توی تابع Compare مخصوصا مشکل دارم،این از سمت
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
تنها یک ورودی میگیرد اما در اون تابع 2 مقار رو بررسی میکنه XوY
هر بار هم یک شی جدید new میشه!!!
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدترتیب مقایسه و مرتب سازی چطور است؟
و ObjectDumper چه کاره هست؟ اولین باره میبینم


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Life24
31-01-2014, 09:47
اگر بگوئیم تنها یک شی از


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ایجاد میشود. پس چطور مقایسه رو انجلام میده؟ چون ما در هر بار داریم با لامبدا فقط یکی رو از ورودی میخونیم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

_H2_
31-01-2014, 22:38
سلام


هر بار هم یک شی جدید new میشه!!!

در کد شما برای هر یک بار مرتب سازی یک مجموعه، یک شی ایجاد میشود.

(درکدشما)
یعنی اگر من 100 آیتم را بخواهم مرتب کنم فقط یک شی از نوع CaseInsensitiveComparer ایجاد میشود.

(درکدشما)
یعنی برای هر یک بار اجرای OrderByDescending یک شی CaseInsensitiveComparer ایجاد میشود، حالا میخواهد در این یک بار، صد آیتم مرتب شود یا هزار آیتم، فرقی ندارد.



ترتیب مقایسه و مرتب سازی چطور است؟
ایجاد میشود. پس چطور مقایسه رو انجلام میده؟ چون ما در هر بار داریم با لامبدا فقط یکی رو از ورودی میخونیم.

شما دو مقدار به تابع Order میدهید.
1) تابعی که (بصورت لامبدا) سطر اطلاعات را گرفته و فیلد مورد مقایسه را پس میدهد.
2) تابعی که (بصورت رابط IComparer) که میتواند دو عنصر را مقایسه کند.

مثلاً کد Order (در یک شرایط بسیار ساده) میتواند دو حلقه تودرتو تشکیل دهد و مدام دوعنصر از ورودی را با هم مقایسه و درصورت نیاز جابجا کند تا مرتب سازی تکمیل شود.

اصلاً فکر کنید خودتان بخواهید یک فهرست را مرتب سازی کنید!
چه چیزی نیازی دارید؟ بیش از معیاری برای مقایسه آیتم؟

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
یک لحظه همه اینها را فراموش کنید.
شما برای یک مرتب سازی سازی یک شی که نوعش را میشناسید و مخصوص همان شی هم کدتان را نوشته اید بالاخره به یک جایی میرسید که متغییری مانند iResult را بدست آورده و بابت جابجایی آیتم ها تصمیم گیری کنید...
خوب این میشود همین کد بالا ولی برای هر دیتایی !



ObjectDumper چه کاره هست؟

ارزش خاصی ندارد فقط نتایج را نشان میدهد یا در استریم متنی چاپ میکند.