Точные сообщения не нужно беспокоиться о вариациях или символах между ними, сейчас я просто ищу эффективный способ проверки сообщений, подобных приведенным ниже.
У меня есть сообщение вроде:
string msg = "This is a small message !";
И я хотел бы проверить, было ли это сообщение отправлено несколько раз в одной и той же строке, например:
string msg = "This is a small message !This is a small message !";
или:
string msg = "This is a small message !This is a small message !This is a small message !";
или:
string msg = "This is a small message !This is a small message !This is a small message !This is a small message !This is a small message !";
У меня есть LinkedList<string>
, в котором хранятся последние 3 полученных сообщения и наряду с этими последними 3 сообщениями я хотел бы сопоставить текущие сообщения, чтобы увидетьесли оно равно одному из текущих сообщений магазина или повторению любого.
foreach (string item in myListOfMessages)
{
if (string.Equals(msg, item))
{
// the message matchs one of the stored messages
}
else if (msg.Lenght == (item.Lenght * 2) && string.Equals(msg, string.Concat(item, "", item)))
{
// the message is a repetition, and ofc only works when some one sends the message twice in the same string
}
}
Как я показал в примерах, повторение может быть довольно большим, также я не уверен, что метод IПредставленное выше является лучшим для того, что мне нужно.Это была первая идея, которая пришла мне в голову, но вскоре после того, как я осознал, что таким образом будет проделано гораздо больше работы.