У меня есть этот фрагмент кода, как показано ниже, который выполняет итерацию по разделительной строке.Как заполнить KeyValuePair <int, int> внутри цикла foreach
if (!string.IsNullOrEmpty(profile.ContactNumber))
{
var splitContract = profile.ContactNumber.Split(new string[] { "and", "&" }, StringSplitOptions.RemoveEmptyEntries);
foreach (var contract in splitContract)
{
//check the split if it contains "x" or "X" character - if it does contain, it means it's a valid contract
if (contract.Contains("x") || contract.Contains("X"))
{
var condensedString = contract.Replace(" ", "");
var split = condensedString.Split(new char[] { 'x', 'X' });
GetNumbersOnly(split);
}
}
}
private void GetNumbersOnly(string[] inputArray)
{
var ListKeyValuePair = new List<KeyValuePair<string, string>>();
foreach (var item in inputArray)
{
var numberToAdd = Regex.Replace(item, "[^0-9]", "", RegexOptions.None);
ListKeyValuePair.Add(?, ?);
}
}
В методе GetNumbersOnly, как я могу заполнить Список KeyValuePair внутри каждого цикла?
Переменная inputArray имеет элемент массива из [0] = 100, [1] = 5 для первой итерации и т. Д.
Это желаемый результат для KeyValuePair {100, 5}, {200, 10}, {500, 15}.
Извините, я не могу найти какой-либо связанный сценарий, когда я искал его. Любая помощь с этим очень ценится.
ListKeyValuePair.Add (numberToAdd1, numberToAdd2); возвращает ошибку. «Нет перегрузки для метода« Добавить »принимает 2 аргумента» ListKeyValuePair - это список, я пробовал AddRange, но по-прежнему ту же ошибку. – Juniuz
О, я получаю это сейчас @ Джона Ву, эта строка должна быть такой, как этот ListKeyValuePair.Add (новый KeyValuePair <строка, строка> (numberToAdd1, numberToAdd2)); – Juniuz
Упс, исправлено –