Мне кажется, что вы проверяете, содержит ли запись введенное значение. Однако это было бы опасно. В документации говорится, что если вы передадите ей пустую строку, свойство содержит всегда вернет истину. Если ключ является пустой строкой, все строки будут удалены. Кроме того, если ваш ключ что-то вроде «а», то все записи с а будут удалены. Возможно, вам следует проверить, равна ли строка ключу, или выполнить более сложный вид проверки. Я предполагаю, что вы вводите имя хоста в качестве ключа, выделяете строку и убедитесь, что имя хоста соответствует значению в ключе.
Возможно, вы могли бы исправить свой код, заменив содержимое чем-то вроде
s = "255.255.255.255 " + key
Или, может быть
Regex.IsMatch(s,"^255\.255\.255\.255\s+" + Regex.Escape(key) + "\s*$")