public override Base CreateCopy()
public override Derivative CreateCopy()
using System;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
var objectBase = new Base("Base");
var objectDerivative = new Derivative("Derivative", '7');
var copyBase = objectBase.CreateCopy();
var copyDerivative = objectDerivative.CreateCopy();
Console.WriteLine(copyBase);
Console.WriteLine(copyDerivative);
}
}
public class Base
{
private readonly string _text;
public string Text
{
get { return _text; }
}
public Base(string text)
{
_text = text;
}
public virtual Base CreateCopy()
{
return new Base(Text);
}
public override string ToString()
{
return $"{nameof(Text)}: {Text}";
}
}
public class Derivative : Base
{
private readonly char _symbol;
public char Symbol
{
get { return _symbol; }
}
public Derivative(string text, char symbol)
: base(text)
{
_symbol = symbol;
}
public override Base CreateCopy()
{
return new Derivative(Text, Symbol);
}
public override string ToString()
{
return $"{nameof(Text)}: {Text}, {nameof(Symbol)}: {Symbol}";
}
}
}
если на том же конструкторе можно сделать все это намного быстрее и удобнееНет, не можно.
Я знаю что можно взять используя регулярные выражения, но я новенькой в пайтоне, и совсем не понял как сделать
data = '' # в data - вся приведенная простыня
for line in data.split('\n'):
if line.startswith(('Пользователь', '=== Всего пользователей:', '=== Общий трафик')):
print(line)
=== Всего пользователей: 8
Пользователь: Admin_16/03 Порт: 1317 Трафик: 75.06 GB
Пользователь: Rahym_16/03 Порт: 6993 Трафик: 214.78 GB
Пользователь: Mama_16/03 Порт: 6951 Трафик: 28.14 GB
Пользователь: Klass_17/03 Порт: 7124 Трафик: 69.52 GB
Пользователь: Rahym2_01/04 Порт: 8543 Трафик: 73.77 MB
Пользователь: Toyjan_01/04 Порт: 7814 Трафик: 8.75 GB
Пользователь: David_03/04 Порт: 5870 Трафик: 6.05 GB
Пользователь: Test_07/04 Порт: 4282 Трафик: 0 B
=== Общий трафик всех пользователей: 402.36 GB