Не логичное поведение string.StartsWith() или string.Trim() - C#
Формулировка задачи:
Нашел задачку, условие:
Необходимо написать программу, которая считает количество строк в файле содержищем код на языке С/С++/C# без учета комментариев и пустых строк.
Комментарии могут быть однострочные (//) и многострочные (/**/). Пустой строкой считается строка, которая не содержит ни одного символа, либо содержащая только пробельные символы (пробелы, символы табуляции).
Программа должна принимать один параметр - имя файла для обработки и возвращать количество строк кода.
Пример
Входной файл:
Результат:
4
При помощи гугла и МСДНа написал такой код:
Но есть проблема, программа видит строку " // main function" как ту, которую надо засчитывать как код, хотя в условии есть четкое условие "!line.StartsWith("/")". Если убрать пробелы перед " // main function", то прога её не считает, то, что мне и надо. Читаю на МСДН o string.Trim():
Вообщем непонятно(
Листинг программы
- /**
- * @author Sergey Yatsuk
- * @version $Id: Exp $
- */
- int main()
- {
- // main function
- return 0;
- }
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.IO;
- namespace ReadingFile
- {
- class Program
- {
- static void Main(string[] args)
- {
- int numberOfStringWithCode = 0;
- try
- {
- string[] lines = File.ReadAllLines("test.cs");
- foreach (string line in lines)
- {
- line.Trim();
- if (!line.StartsWith("/") && !line.StartsWith("/*") && !line.StartsWith("*")&& !(line.Length==0))
- {
- numberOfStringWithCode++;
- Console.WriteLine("{0} : {1}", line, numberOfStringWithCode);
- }
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine("File cannot be read!");
- Console.WriteLine(ex.Message);
- }
- Console.WriteLine(numberOfStringWithCode);
- Console.ReadLine();
- }
- }
- }
Удаляет все начальные и конечные знаки пробела из текущего объекта String.
Решение задачи: «Не логичное поведение string.StartsWith() или string.Trim()»
textual
Листинг программы
- Console.WriteLine("hello"); Console.WriteLine("i like you");
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д