Я хочу вернуть значение из словаря, если ключ содержит строку, которая наполовину соответствует поиску строки.Возвращаемое значение словаря, если существует ключевая подстрока
private readonly Dictionary<string, string> _ipAddressesDictionary = new Dictionary<string, string>()
{
{"ip.qwer4.abc5.somename", "6x.x.00.xx"},
{"ip.qwer3.abc1.somename", "6x.3.xx.xx"},
}
Forexample,
У меня есть строка «abc1.somename», я строю до логики, как показано ниже - , который не работает в данный момент - получить мне значение данное ключевое имя содержит эту подстроку. Я ожидаю получить «6x.3.xx.xx» назад.
public string LookUpPeerIp(string deviceName)
{
var value = _ipAddressesDictionary.Keys.Contains(deviceName);
return value.ToString();
}
Edit:
Извините ребята, забыл упомянуть строку, которая передается, чтобы сделать смотреть не точно соответствует либо. Он имеет .co.uk прилагаемую к нему :(
Так будет abc1.somename.co.uk но словарь имеет ip.qwer3.abc1.somename без .co.uk
Что он должен вернуть, если в словаре есть несколько ключей, содержащих подстроку, например '' ip.qwer'' из вашего примера? –
Что делать, если 2 ключа содержат ваше имя устройства? –
@JamesThorpe Это никогда не будет иметь значение для строки поиска. – user1781232