zkazemi
یک شنبه 01 شهریور 1388, 09:18 صبح
عملگر های تبدیلی
این عملگر ها برای تغییر نوع یک شی ورودی به یک مجموعه استفاده می شود.
عملگر Cast
این عملگر یک المان از یک مجموعهIEnumerable را به یک نوع ویژه تبدیل می کند.در مثال زیر از یک array list به عنوان منبع داده استفاده کرده ایم. یک Array list با IEnumarable (of T ) پیاده سازی نشده است . اما با استفاده از Cast شما می توانید از عملگر های کوئری استاندارد از قبیل select برای این آرایه استفاده نمایید.
ArrayList names = new ArrayList();
names.Add("Alex");
names.Add("Chuck");
names.Add("Dave");
names.Add("Dinesh");
names.Add("Joe");
names.Add("John");
names.Add("Sarah");
names.Add("Steve");
IEnumerable<string> query = names.Cast<string>().Select(name => name);
foreach (string item in query)
listBox1.Items.Add(item);
عملگر OfType
این عملگر شما قادر می سازد تا المانهای یک شی IEnumerable را به توجه به یک نوع خاص فیلتر نمایید.دراین مثال عملگر OfType تنها المان هایی را از این مجموعه بازگشت می دهد که قابل تبدیل شدن به نوع int باشند.
ArrayList names = new ArrayList(7);
names.Add("Scott");
names.Add(1);
names.Add("Dave");
names.Add(2);
names.Add("Dave");
names.Add(3);
names.Add("Steve");
names.Add(4);
names.Add("Joe");
IEnumerable<int> query = names.OfType<int>();
foreach (int item in query)
listBox1.Items.Add(item);
نتیجه اجرای کوئری بالا :
1
2
3
4
عملگر های Quantifier
این عملگرها یک مقدار بولی با توجه به شرط ذکر شده را بر می گردانند.
عملگر All
این عملگر شرط را بر روی تمام المان های مجموعه بررسی کرده و در صورتی که شر برای تمام المان ها نتیجه درست داشته باشدمقدار true را بازگشت می دهد در غیر این صورت مقدار false را بازگشت می دهد.
Names[] friends = {new Names { Name = "Steve"},
new Names { Name = "Dave"},
new Names { Name = "Joe"},
new Names { Name = "John"},
new Names { Name = "Bill"},
};
bool firstnames = friends.All(name => name.Name.StartsWith("J"));
listBox1.Items.Add(firstnames).ToString();
در مثال بالا مقدار false به خروجی می رود چرا که تمام المان های مجموعه با حرف J آغاز نشده اند.
Names[] friends = {new Names { Name = "Jeff"},
new Names { Name = "Jordan"},
new Names { Name = "Joe"},
new Names { Name = "John"},
new Names { Name = "Jim"},
};
bool firstnames = friends.All(name => name.Name.StartsWith("J"));
listBox1.Items.Add(firstnames).ToString();
در مثال بالا مقدار true برگردانده می شود چرا که تمام المان هابا حرف Jآغاز شده اند.
این عملگر ها برای تغییر نوع یک شی ورودی به یک مجموعه استفاده می شود.
عملگر Cast
این عملگر یک المان از یک مجموعهIEnumerable را به یک نوع ویژه تبدیل می کند.در مثال زیر از یک array list به عنوان منبع داده استفاده کرده ایم. یک Array list با IEnumarable (of T ) پیاده سازی نشده است . اما با استفاده از Cast شما می توانید از عملگر های کوئری استاندارد از قبیل select برای این آرایه استفاده نمایید.
ArrayList names = new ArrayList();
names.Add("Alex");
names.Add("Chuck");
names.Add("Dave");
names.Add("Dinesh");
names.Add("Joe");
names.Add("John");
names.Add("Sarah");
names.Add("Steve");
IEnumerable<string> query = names.Cast<string>().Select(name => name);
foreach (string item in query)
listBox1.Items.Add(item);
عملگر OfType
این عملگر شما قادر می سازد تا المانهای یک شی IEnumerable را به توجه به یک نوع خاص فیلتر نمایید.دراین مثال عملگر OfType تنها المان هایی را از این مجموعه بازگشت می دهد که قابل تبدیل شدن به نوع int باشند.
ArrayList names = new ArrayList(7);
names.Add("Scott");
names.Add(1);
names.Add("Dave");
names.Add(2);
names.Add("Dave");
names.Add(3);
names.Add("Steve");
names.Add(4);
names.Add("Joe");
IEnumerable<int> query = names.OfType<int>();
foreach (int item in query)
listBox1.Items.Add(item);
نتیجه اجرای کوئری بالا :
1
2
3
4
عملگر های Quantifier
این عملگرها یک مقدار بولی با توجه به شرط ذکر شده را بر می گردانند.
عملگر All
این عملگر شرط را بر روی تمام المان های مجموعه بررسی کرده و در صورتی که شر برای تمام المان ها نتیجه درست داشته باشدمقدار true را بازگشت می دهد در غیر این صورت مقدار false را بازگشت می دهد.
Names[] friends = {new Names { Name = "Steve"},
new Names { Name = "Dave"},
new Names { Name = "Joe"},
new Names { Name = "John"},
new Names { Name = "Bill"},
};
bool firstnames = friends.All(name => name.Name.StartsWith("J"));
listBox1.Items.Add(firstnames).ToString();
در مثال بالا مقدار false به خروجی می رود چرا که تمام المان های مجموعه با حرف J آغاز نشده اند.
Names[] friends = {new Names { Name = "Jeff"},
new Names { Name = "Jordan"},
new Names { Name = "Joe"},
new Names { Name = "John"},
new Names { Name = "Jim"},
};
bool firstnames = friends.All(name => name.Name.StartsWith("J"));
listBox1.Items.Add(firstnames).ToString();
در مثال بالا مقدار true برگردانده می شود چرا که تمام المان هابا حرف Jآغاز شده اند.