Описать класс, реализующий СТРОКУ произвольных символов алфавита - C#
Формулировка задачи:
у меня есть такой фрагмент задачи сделанный:
Описать класс, реализующий СТРОКУ произвольных символов алфавита.
* Предусмотреть инициализацию строки символов значениями по умолчанию, произвольными значениями и
* информацией из текстового файла.
* В данном классе определить метод построения
* • количества слов строки.
* Написать программу, которая считывает текст из файла и выводит на экран только предложения, состоящие из заданного количества слов.
*/
как из этого получить фрагмент с таким условием??
Написать программу, которая считывает текст из файла и определяет, сколько в нем
слов, состоящих не более чем из четырех букв.
class Program
{
static void Main(string[] args)
{
int НужноеКоличествоСлов = 5;
string[] Предложение = Строка.МассивПредложений("1.in");
for (int i = 0; i < Предложение.Length; i++)
{
if ((new Строка((Предложение[i]).ToCharArray())).КоличествоСловСтроки() == НужноеКоличествоСлов)
{
System.Console.WriteLine(Предложение[i] + ".");
}Решение задачи: «Описать класс, реализующий СТРОКУ произвольных символов алфавита»
textual
Листинг программы
using Lucene.Net.Analysis;
using Lucene.Net.Analysis.Standard;
using Lucene.Net.Analysis.Tokenattributes;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace Ghost
{
public static class StringExtension
{
public static IEnumerable<string> Words(this string s)
{
if (s == null)
throw new ArgumentNullException("s");
using (Analyzer analyzer = new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_30))
using (TokenStream stream = analyzer.TokenStream(null, new StringReader(s)))
{
while (stream.IncrementToken())
{
if (stream.HasAttributes && stream.HasAttribute<ITermAttribute>())
{
ITermAttribute term = stream.GetAttribute<ITermAttribute>();
yield return term.Term;
}
}
}
}
}
class Program
{
static void Main(string[] args)
{
string s = "Девушка пела в церковном хоре" + Environment.NewLine +
"О всех усталых в чужом краю";
Array.ForEach(s.Words().Where(x => x.Length <= 4).ToArray(),
new Action<string>(Console.WriteLine));
Console.ReadLine();
}
}
}