PDA

View Full Version : Yield چیه؟کاربردش چی هست ؟



raha_20
سه شنبه 29 فروردین 1391, 00:27 صبح
سلام
من توی برنامم میخوام از Yield استفاده کنم ولی هنوز نحوه استفاده وکاربرد اصلی آن را نمی دونم و همچنین استفاده از IEnumerable که نمیدونم به چه دردی میخوره . اگه میشه دوستان یه توضیحی بدن که شدیدا نیازمند یاری سبزتان هستم !!!!!!!!!!!!!!!!!!!!!

mrbm_2007
سه شنبه 29 فروردین 1391, 00:49 صبح
اگر کلاسی مشتق شده از IEnumerable باشه می تونی مثل یک آرایه با foreach با اون رفتار کنی. مثلا یه آرایه ی ویژه با امکانات خاص تعریف میکنی و اونو از IEnumerable مشتق می کنی. مثل
List<>

raha_20
چهارشنبه 30 فروردین 1391, 19:29 عصر
میشه یه نمونه کد بزارین برام ببینم . که با آبجکت هایی که property دارند کار کرده باشه


ممنون میشم

vof.ir
پنج شنبه 31 فروردین 1391, 01:16 صبح
www.dotnetperls.com/yield
http://msdn.microsoft.com/en-us/library/9k7k7cf0.aspx

public class PowersOf2 { public static System.Collections.IEnumerable Power(int number, int exponent) { int counter = 0; int result = 1; while (counter++ < exponent) { result = result * number; yield return result; } } static void Main() { // Display powers of 2 up to the exponent 8: foreach (int i in Power(2, 8)) { Console.Write("{0} ", i); } } } /* Output: 2 4 8 16 32 64 128 256 */

mrbm_2007
جمعه 01 اردیبهشت 1391, 01:59 صبح
سلام
من امروز داشتم در مورد python مطالعه می کردم
اونجا هم همین مفاهیم و با همین نام و با کاربرد مشابه وجود داره، کسی هست که بدونه کدوم یکی از این زبون ها از اون یکی ایده گرفته؟:متفکر::کف:

رافعی مهدی
شنبه 02 اردیبهشت 1391, 18:38 عصر
سلام، yield در Net. 2.0 معرفی شد و در اون زمان python این ساختار رو داشت. برای اطلاعات بیشتر در خصوص نحوه کار yield در python اینجا (http://stackoverflow.com/questions/231767/the-python-yield-keyword-explained) و تفاوتش با #C اینجا (http://stackoverflow.com/questions/1704607/difference-between-yield-in-python-and-yield-in-c-sharp) رو بخونید.

راستی، در اینجا (http://barnamenevis.org/showthread.php?28601-%D8%AC%D8%B3%D8%AA%D8%AC%D9%88-%D8%AF%D8%B1-TreeView&p=1490018&viewfull=1#post1490018) هم یه کد بازگشتی نوشتم که یک بار بدون yield و بار دیگر با استفاده از yield یک TreeView رو Search میکنه که برای درک بهتر مفهوم و کاربرد yield میتونه مفید باشه.