以下のコードスニペットを分割文字列に対して繰り返します。foreachループ内にKeyValuePair <int, int>を設定する方法
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}の望ましい出力です。
申し訳ありませんが、私はそれをgoogledときに私は関連するシナリオを見つけることができないようです。これに関する助けがあれば大歓迎です。
ListKeyValuePair.Add(numberToAdd1、numberToAdd2);エラーを返します。 "メソッド 'Add'に2つの引数が必要です。ListKeyValuePairはリストですが、AddRangeを試しましたが、同じエラーです。 – Juniuz
ああ、私は今@ジョンウ、その行はこのListKeyValuePair.Add(新しいKeyValuePair(numberToAdd1、numberToAdd2))のようにする必要があります。 –
Juniuz
おっとり、修正済み –