나는 SortedDictionary
의 컬렉션이 있습니다. 순으로
_variableValues.OrderBy(key => key.Key);
를 사용하여이 작업을 수행하려고하지만 내 문제는 그 결과가 있다는 것입니다 :
ThkPost_Point1 15
ThkPost_Point11 8
ThkPost_Point15 5
ThkPost_Point2 7
ThkPost_Point20 1
ThkPost_Point22 1
하지만 메신저를 찾는 것은 일종의이 같은 결과를 달성 할 수있는 솔루션입니다 :
ThkPost_Point1 15
ThkPost_Point2 7
ThkPost_Point11 8
ThkPost_Point15 5
ThkPost_Point20 1
ThkPost_Point22 1
SortedDictionary
을 사용하여 이러한 방식으로 데이터를 정렬 할 수있는 방법이 있습니까?
편집 :
나는 바부과 metacubed의 힌트를 구현하기 위해 노력했다.
그래서 다음과 같은 방법static void Main(string[] args)
{
SortedDictionary<string, string> _varVal = new SortedDictionary<string, string>(StringComparer.OrdinalIgnoreCase);
_varVal.Add("Variable1", "Value1");
_varVal.Add("Variable2", "Value2");
_varVal.Add("Variable3", "Value3");
_varVal.Add("Variable4", "Value4");
_varVal.Add("Variable5", "Value5");
_varVal.Add("Variable10", "Value10");
_varVal.Add("Variable11", "Value11");
_varVal.Add("Variable12", "Value12");
_varVal.Add("Variable13", "Value13");
_varVal.Add("Variable14", "Value14");
_varVal.Add("Variable20", "Value20");
_varVal.Add("Variable22", "Value21");
_varVal.Add("Variable23", "Value22");
_varVal.Add("Variable24", "Value23");
_varVal.Add("Variable25", "Value24");
foreach (KeyValuePair<string, string> kvp in _varVal)
{
Console.WriteLine(kvp.Key,kvp.Value);
Debug.WriteLine(kvp.Key +" "+ kvp.Value);
}
Application.Run();
}
에서 그것을 impelented 그러나 결과는 다음과 같이 여전히 :
Variable1 Value1
Variable10 Value10
Variable11 Value11
Variable12 Value12
Variable13 Value13
Variable14 Value14
Variable2 Value2
Variable20 Value20
Variable22 Value21
Variable23 Value22
Variable24 Value23
Variable25 Value24
Variable3 Value3
Variable4 Value4
Variable5 Value5
내가 놓친 게 있나?
내 편집을 참조하십시오. 훨씬 더 복잡하지만 모든 시나리오에서 예상대로 작동합니다. – metacubed
같은 문제가있는 사람들에게만 해당됩니다. 제 경우에는 매력처럼 작동하는 두 번째 대안 솔루션을 발견했습니다. http://www.codeproject.com/Articles/11016/Numeric-String-Sort-in-C – ck84vi