string chan = "@F0AFF2550@C0ACC2210@Y0AYY1700@B0A901030@H0A851450@K0A801360@L0A751280@M0A701190";
string[] arr = chan.Split(new string[] { "@" }, StringSplitOptions.RemoveEmptyEntries);
如何实现后四位的最小值到大排序显示B0A901030,M0A701190......在DATAGRID里面?
DATAGRID里面显示如下
B0A901030
M0A701190
K0A801360
H0A851450
......
string[] arr = chan.Split(new string[] { "@" }, StringSplitOptions.RemoveEmptyEntries);
如何实现后四位的最小值到大排序显示B0A901030,M0A701190......在DATAGRID里面?
DATAGRID里面显示如下
B0A901030
M0A701190
K0A801360
H0A851450
......
//截取自字符串
string.substring(4,4);
//装换类型 排序
B0A901030
M0A701190
L0A751280
K0A801360
H0A851450
Y0AYY1700
C0ACC2210
F0AFF2550
public class MyComparer : IComparer
{
public int Compare(object x, object y)
{
int a = Convert.ToInt32(x.ToString().Substring(5));
int b = Convert.ToInt32(y.ToString().Substring(5));
if (a > b)
return 1;
else if (a < b)
return -1;
else
return 0; }
}
string chan = "@F0AFF2550@C0ACC2210@Y0AYY1700@B0A901030@H0A851450@K0A801360@L0A751280@M0A701190";
string[] arr = chan.Split(new string[] { "@" }, StringSplitOptions.RemoveEmptyEntries); Array.Sort(arr, new MyComparer());
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("ID",typeof(string))); foreach(string s in arr)
{
DataRow dr = dt.NewRow();
dr["ID"] = s;
dt.Rows.Add(dr);
} dataGridView1.DataSource = dt;