نوشته شده توسط
mahdi_armed
خیلی ممنون دوست گلم
فقط یه سوال
Items.Cast<object>()
کارش چیه دقیقاً ؟
چرا در آخر مقدار بدست اومده رو به آرایه تبدیل کردی ؟
یا علی
سلام. خواهش میکنم
متود Combobox.ObjectCollection.AddRange میتواند ( فقط) یک آرایه از Object را به Item های کامبو اضافه کند.
برای اینکه Item های Combo2 را از طریق AddRange به Combo1 اضافه کنیم باید آنها را از Combobox.ObjectCollection به Object[] تبدیل کنیم.
متود Cast<Object> مجموعه را به IEnumerable<Object> تبدیل میکند با این کار اگر Item های Combo2 از نوع String و یا Int باشند به عنوان Object در نظر گرفته می شوند، حالا یک IEnumerable<Object> داریم که در آخر با متد ToArray به Object[] تبدیل شده و به AddRange فرستاده میشود.
کد زیر هم در این مورد دقیقا شبیه به کد بالا عمل میکند:
combo2.Items.AddRange(combo1.Items.OfType<object>( ).ToArray());