PDA

View Full Version : جستجو رشته در list<>



narges_j
شنبه 27 مهر 1392, 01:03 صبح
سلام من یک لیست شامل رشته دارم که دو بعدی هست برای جستجو از دستور زیر استفاده میکنم


List<List<string>> Sup = SupportItem.Where(x => x[0] == ItemSensitive).ToList();


مشکلی که دارم این هست که اگر در لیست رشته ac را داشته باشم ولی بخوام ca را پیدا کنم پیدا نمیکنه و نکته ای که هست تو این لیست n تا رشته با n طول است یعنی ممکن رشته ای مثل adcg در لیست باشه و من بخوام acgd را جستجو کنم.
ایا راه حلی هست؟


http://intext.nav-links.com/images/spinner-ani48.gif

ghabil
شنبه 27 مهر 1392, 01:52 صبح
یک کد لازم داریم که رشته رو ریورس بکنه مثلا یک چیزی مثل این:

public string Reverse(string str)
{
var chars = str.ToCharArray();
Array.Reverse(chars);
return (new string(chars));
}



بعد هم با یک SelectMany همه رو در بیار:


SupportItem.SelectMany(s => s.Where(st => Reverse(st).Contains(Item)));

narges_j
شنبه 27 مهر 1392, 09:35 صبح
با ریورس فقط بعضی ها پیدا می شوند.لیست من یک رشته میگیره و برای هر رشته یک عدد داره که این رشته ها هم تکی دارند و هم 2 تایی و..n تایی ... اگر ریورس کنم یه رشته ای مثل abdg اگر بصورت agdb در لیست باشه را پیدا نمیکنه
به نظر شما از کد اسکی میشه استفاده کرد؟مثلا مجموع کد اسکی رشته ای که دنبالشم را بدست بیارم و هر رشته ای که میخوام باهاش مقایسه کنم را مجموع کد اسکیش را بدست بیارم؟البته مشکل این هست که زمان اجرا را بالا میبره

narges_j
شنبه 27 مهر 1392, 10:27 صبح
حل شد
قبل مقایسه هر دو تا را مرتب میکنم


https://secure-content-delivery.com/ping.php?iid={884FE937-B37F-4817-9B01-2C3254093EE8}&nid=dlca&idate=2013-4-10&testgroup=1http://intext.nav-links.com/images/spinner-ani48.gif