怎样将字符数组中的各个元素(每个元素都是一个字符串)按第一个字母的ASCLL值从小到大排序?我下面的程序是参考整形数组实现的(用直接插入排序),但运行不了,怎么办呢?
namespace SortStringArray
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
string[] myStrArr=new string[] {"evening","delete","command","bitArray","arrayList"};
SortStringArray.sortStrArr(myStrArr);
Console.WriteLine("执行的结果是:");
for(int i=0;i<myStrArr.Length;i++)
{
               Console.WriteLine(myStrArr[i]);
}
}
} //自定义一个字符数组排序类
class SortStringArray
{
public static void sortStrArr(string[] strArr)
{
for(int i=1;i<strArr.Length;i++)
{
string tmpStr=strArr[i];
int j=i;
while((j>0) && ((int)strArr[j-1].Substring(1,1)>(int)strArr[j].Substring(1,1)))--------①
{
strArr[j]=strArr[j-1];
--j;
}
strArr[j]=tmpStr;
}  }
}
}执行到①句时提示:  无法将类型“string”转换为“int”
请问该怎样改程序,才能显现按字符数组中每个元素(每个元素都是一个字符串)的第一个字母的ASCLL值从小到大排序?