Regex، یک زبان منظم رو ارائه میده و البته کار شما رو راه نمیندازه چون شما همه حالت ها رو میخواین نه یک الگوی خاص رو. LINQ و ... هم کار خاصی جز کاهش Performance برای شما نمیکنه.
با چهار حرف A, B, C و D یک رشته با طول 50 کاراکتر، 4 بتوان 50 حالت داره یعنی بیشتر از 10 بتوان 30 حالت! بنابراین عملا شما نمیتونید تک تک توالی ها رو تولید کنید و بعد به دنبالشون بگردین.
همونطور که یکی از دوستان گفتن، شاید امکانش باشه که شما توالی های موجود در فایل مورد نظر رو بخونید و تعداد اونها رو محاسبه کنید، در یک Hashtable بگذارین و بعد هر توالی ای که میخواین رو تعدادش رو دارین. البته این در صورتی هست که تعداد توالی های موجود در فایل هم نجومی نباشه. برای نیاز کمتر به حافظه میتونید مقادیر رو بجای رشته به صورت باینری در Hashtable نگه دارین تا حافظه کمتری مورد نیاز باشه. مثلا برای تووالی به طول 1 با چهار حرف فقط 2 بیت لازمه نه یک کاراکتر (8 یا 16 بیت).
در واقع جواب شما پست شماره 3 هست که باید روش کار کنید و اگه لازم باشه بهینش کنید.