Создать класс для работы сo строками
Создать класс MyStr для работы со строками.
Разработать следующие элементы класса:
Поля:
– StringBuilder Line;
– int n.
Конструктор, позволяющий создать строку из n символов.
Методы, позволяющие:
– подсчитать количество пробелов в строке;
– заменить в строке все прописные символы на строчные;
– удалить из строки все знаки препинания.
Свойства:
– возвращающее общее количество элементов в строке (доступное
только для чтения);
– позволяющее установить значение поля, в соответствии с введенным значением строки с клавиатуры, а также получить значение данного
поля (доступно для чтения и записи)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace space
{
class String
{
public String(int len)
{
length = len;
str = new StringBuilder(length);
}
public String(string s, int len)
{
length = len;
str = new StringBuilder(s.Substring(0, length));
}
public int CountSpaces()
{
return str.ToString().Count(x => x == ' ');
}
public void RemovePuncts()
{
string s = str.ToString();
str.Clear();
str.Append(Regex.Replace(s, "[,.:?!]", " "));
length = str.Length;
}
public int Length
{
get { return length; }
}
public override string ToString()
{
return str.ToString();
}
private StringBuilder str;
private int length;
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace MyClass
{
class Test
{
static void Main1(string[] args)
{
String s = new String("hello, and? what: is it" );
Console.WriteLine("Our string: {0} Length: {1}", s, s.Length);
Console.WriteLine("Count of spaces: {0}", s.CountSpaces());
s.RemovePuncts();
Console.WriteLine("Without puncts: {0} Length: {1}", s, s.Length);
}
}
}
2-й класс, выдает ошибку
"string" не содержит определения "CountSpaces", и не удалось найти доступный метод расширения "CountSpaces", принимающий тип "string" в качестве 1го аргумента "string" не содержит определения "RemovePuncts", и не удалось найти доступный метод расширения "RemovePuncts", принимающий тип "string" в качестве 1го аргумента