Это сложная фраза для поискового запроса, и мне не повезло. И чем больше я об этом думаю, тем больше логический вопрос, чем синтаксический. Однако я новичок в C # (8 лет, php), и в настоящее время я создаю свое третье приложение для оконных форм, так что может существовать метод, созданный для того, что я хочу.
То, что я делаю, - это чтение формата даты, заданного пользователем в виде одной строки, и разбиение его на части, которые будут назначены массиву, или из того, что я видел в моих поисках ассоциативных массивов, возможно, SortedList или Dictionary .
, например
SortedList<string, int> resultArray = new SortedList<string, int>();
string dateFormat = "yyyyMMdd" // Just and example
int yearPos = dateFormat.IndexOf("yyyy");
int monthPos = dateFormat.IndexOf("MM");
int dayPos = dateFormat.IndexOf("dd");
resultArray.Add("yearPos", yearPos);
resultArray.Add("monthPos", monthPos);
resultArray.Add("dayPos", dayPos);
// So, resultArray expressed as an array looks like:
// resultArray["yearPos"] = 0
// resultArray["monthPos"] = 4
// resultArray["dayPos"] = 6
// Sort List and reassign keys (or values) based on their position value (which is unique)
// ???????
return resultArray;
В идеале, конечный результат, который мне нужен для этой коллекции / массива, состоит в том, чтобы члены ранжировались по значению их позиции в строке. Как это:
// resultArray["yearPos"] = 1
// resultArray["monthPos"] = 2
// resultArray["dayPos"] = 3
Причина, по которой я пытаюсь это сделать, заключается в том, что один и тот же формат даты используется для извлечения реальной даты из файла с использованием Regex.Match. И я хочу использовать эти новые значения, чтобы знать, какой элемент группы совпадения использовать для каждой части даты.
Любая помощь, которая поможет мне разобраться в этом, будет принята с благодарностью.