PDA

View Full Version : سوال: آوردن کنترل ها به جز برخی با اسامی خاص + linq



fa_karoon
چهارشنبه 22 شهریور 1396, 13:09 عصر
سلام دوستان من یه تکه کد از نت پیدا کردم که کل کنترل ها حتی اونهایی که در پنل های تو در تو هم هستن رو به من برمی گردونه حالا من میخوام بهش بگم همه رو بیار بجز اونهایی که با کلمه search شروع می شوند اما هر کاری کردم موفق نشدم
کد من

public IEnumerable<Control> GetAllControl(Control control)
{
var controls = control.Controls.Cast<Control>();

return controls.SelectMany(ctrl => GetAllControl(ctrl))
.Concat(controls)
.Where (c => c.Name.StartsWith("Search")== false );

}

اون تیکه ی where رو به این صورت هم نوشتم جواب نداد

.Where (c => !c.Name.StartsWith("Search") );


ممنون می شم کمک کنید سپاس و تشکر فراوان

محمد آشتیانی
چهارشنبه 22 شهریور 1396, 15:27 عصر
سلام


public IEnumerable<Control> GetAllControl(Control control)
{
var controls = control.Controls.Cast<Control>();


return controls.SelectMany(ctrl => GetAllControl(ctrl))
.Concat(controls)
.Where(c => c.Name.ToLower().StartsWith("search") == false);
}

fa_karoon
پنج شنبه 23 شهریور 1396, 10:28 صبح
سلام ممنون از پاسختون ولی این کار تغییری ایجاد نکرد کنترل هایی که نمی خوام بهم برگردونه عینا با واژه Search شروع می شه که من تو کد هم به همین شکل بهش گفتم بگرده یعنی کوچک و برزگ بودن حروف رو رعایت کردم.
می خوام بهش بگم همه رو بیار به جز اونهایی که با Search شروع می شوند
سپاس

محمد آشتیانی
پنج شنبه 23 شهریور 1396, 13:48 عصر
سلام ممنون از پاسختون ولی این کار تغییری ایجاد نکرد کنترل هایی که نمی خوام بهم برگردونه عینا با واژه Search شروع می شه که من تو کد هم به همین شکل بهش گفتم بگرده یعنی کوچک و برزگ بودن حروف رو رعایت کردم.
می خوام بهش بگم همه رو بیار به جز اونهایی که با Search شروع می شوند
سپاس

سلام
اما من تست کردم و درست کار میکنه ، می‌تونید کدتون رو بفرستید؟