چون به جواب رسیدید من هم کد راهنمایی ای که در چند پست قبل داشتم رو میزارم برای کسانی که نیاز دارند
یک کلاس که اینترفیس IComparer<string> را پیاده میکنه را ایجاد و در پیاده سازی متد Compare در این کلاس، عددهای درون رشته را بدست آورده و نتیجه مقایسه را بازگشت میدهیم.
public class MyConvertor : IComparer<string>
{
public int Compare(string x, string y)
{
int a = 0, b = 0;
if (!string.IsNullOrEmpty(x))
{
string[] xStrings = x.Split(':');
if (xStrings.Length > 1)
{
int.TryParse(xStrings[1], out a);
}
}
if (!string.IsNullOrEmpty(y))
{
string[] yStrings = y.Split(':');
if (yStrings.Length > 1)
{
int.TryParse(yStrings[1], out b);
}
}
return a.CompareTo(b);
}
}
کافیه به صورت زیر آرایه رو مرتب کنیم
string[] strArray = {"a:15", "b:10", "c:5"};
Array.Sort(strArray, new MyConvertor());