دستور switch برای پیدا کردن مقدار در string contain
سلام خدمت اساتید محترم
من می خام با دستور switch چک کنم
اگر متن من شامل یه ابارتی بود یه کاری انجام بده
switch (items.Contains(items))
{
case "اااااااا":
MessageBox.Show("was found yyyy");
break;
case "xxxxx":
MessageBox.Show("xxxxx");
break;
}
}
ولی متاسفانه نتونتسم جواب بگیرم
لطفا راهنمایی بفرمایید
نقل قول: دستور switch برای پیدا کردن مقدار در string contain
متد Contains یک مقدار bool برمیگردونه و میگه آیا مقدار پارامتر در شی هست یا نه. اینکه این مقدار bool رو با مقدار های رشته ای مقایسه کنید معنی نمیده.
string s = "Abcdefgh";
if (s.Contains("A") {
// Do this;
}
else if (s.Contains("B")) {
// Do that;
}
نقل قول: دستور switch برای پیدا کردن مقدار در string contain
مممنون دوست عزیز من با switch می خام
کسی می تونه با دستور switch فیکس کنه همین رو
نقل قول: دستور switch برای پیدا کردن مقدار در string contain
نقل قول:
نوشته شده توسط
unrealword
مممنون دوست عزیز من با switch می خام
کسی می تونه با دستور switch فیکس کنه همین رو
دوست عزیز همونطور که آقای plus گفتند.این تابع Contains فقط True یا False بر میگردونه.حالا شما چه جوری میخوای این رو با switch استفاده کنید ؟
نقل قول: دستور switch برای پیدا کردن مقدار در string contain
الان من یه گرید ویو دارم
می خام متن داخل گرید ویو رو بخونم بعد یه کلاس رو صدا بزنم
با دستور if else کلی باید if else بزنم
راه دیگه ای هم به ذهنم نمی زسه
foreach (var VARIABLE in chlstsites.CheckedItems)
{
string items = VARIABLE.ToString();
if (items.Contains("gpeers.com"))
{
Cgpeers tac = new Cgpeers();
من 10 تا کلاس دارم و مقدار داخل گرید ممکنه 10 تا باشه
بعد برای هر کدوم باید یه if else بنویسم
راه بهتری نیست
نقل قول: دستور switch برای پیدا کردن مقدار در string contain
نقل قول:
نوشته شده توسط
unrealword
الان من یه گرید ویو دارم
می خام متن داخل گرید ویو رو بخونم بعد یه کلاس رو صدا بزنم
با دستور if else کلی باید if else بزنم
راه دیگه ای هم به ذهنم نمی زسه
foreach (var VARIABLE in chlstsites.CheckedItems)
{
string items = VARIABLE.ToString();
if (items.Contains("gpeers.com"))
{
Cgpeers tac = new Cgpeers();
من 10 تا کلاس دارم و مقدار داخل گرید ممکنه 10 تا باشه
بعد برای هر کدوم باید یه if else بنویسم
راه بهتری نیست
آخه بستگی داره به اینکه از اون کلاس ها چه جوری استفاده میکنید.یک راه حل اینه یک Interface تعریف کنید و بعد با استفاده از Activator.CreateInstance از کلاس هاتون نمونه سازی کنید.این متد برای ساخت کلاس هم رشته قبول میکنه.اصن دیگه نیازی به Switch یا if نیست.
نقل قول: دستور switch برای پیدا کردن مقدار در string contain
کلاس ها اینطوری که هر کلاس میاد اطلاعات یه سایت رو می خونه و تو ورد پرس پست می زنه
من برنامه رو طوری نوشتم که میاد ادرس هر کتوری از سایت رو می زنی همونو می گیره
الان من یو ار ال رو می خام برم از داخل گرید می خونم بعد تشخیص بدم ما چه سایتیه کلاس برنامه رو صدا بزنم
اگز این چیزی گه گفتید با اینترفیس حل می شه یه راهنمایی برفایید مممنون می شم
نقل قول: دستور switch برای پیدا کردن مقدار در string contain
نقل قول:
نوشته شده توسط
unrealword
کلاس ها اینطوری که هر کلاس میاد اطلاعات یه سایت رو می خونه و تو ورد پرس پست می زنه
من برنامه رو طوری نوشتم که میاد ادرس هر کتوری از سایت رو می زنی همونو می گیره
الان من یو ار ال رو می خام برم از داخل گرید می خونم بعد تشخیص بدم ما چه سایتیه کلاس برنامه رو صدا بزنم
اگز این چیزی گه گفتید با اینترفیس حل می شه یه راهنمایی برفایید مممنون می شم
مثلا فکر کنید که همه کلاس ها یک متد GetData دارند که باید فراخوانی بشه.برای همین یک Interface تعریف میکنید که یک متد GetData داشته باشه،بعد همه کلاس ها این Interface رو میان پیاده سازی میکنن.مثل کد زیر :
interface ITest
{
string getData();
}
public class A : ITest
{
public string getData()
{
return "methode getData dakhele class e A ";
}
}
public class B : ITest
{
public string getData()
{
return "methode getData dakhele class e B ";
}
}
حالا هر بار که اسم کلاس رو بصورت رشته از دیتاگرید خوندید ،میتوانید با استفاده از کد زیر،متد GetDataاشو فرخوانی کنید :
string className = "A";
string formTypeFullName = String.Format("{0}.{1}", this.GetType().Namespace, className);
Type type = Type.GetType(formTypeFullName, true);
ITest tempObj = (ITest)Activator.CreateInstance(type);
MessageBox.Show(tempObj.getData());
البته میشد که بیخیال Interface شد و بجاش از Switch استفاده کنید.اما Interface کار را خیلی بهتر میکنه.