ایراد پست شماره 384: پیدا کردن تعداد خطوط یک متن، بروشی خیلی ساده
کد مزبور رو میشد با یک حلقه for خیلی قشنگ تر نوشت تا یک for...each. اما هدفم عنوان کردن این مساله نبود. در واقع میخواستم شما رو با StringReader آشنا کنم:
int totalLines = 0;
using (StringReader reader = new StringReader(inputString))
{
while (reader.ReadLine() != null)
totalLines++;
}
همونطوری که می بینید، اینجا با استفاده از کلاس StringReader متن مورد نظر خط به خط خونده میشه و در نهایت تعداد خطوط بدست میاد (بدون درگیر شدن با جزییات).
گذشته از اینها، با Regular Expression ها میشه کد مزبور رو ساده تر از اینها هم نوشت. کافیه بدنبال الگوی \n توی متن مورد نظر بگردیم تا تعداد Match ها، تعداد خطوط متن ما رو نشون بده. از این ساده تر فکر نمیکنم امکانپذیر باشه. :)
Regex regex = new Regex("\n", RegexOptions.Multiline);
int totalLines = regex.Matches(inputString).Count + 1;
موفق باشید.